整理自网络,请自行甄别使用


目录 [隐藏]

荒岛版:

最近甲骨文针对永久免费的资源出了个新的政策,具体看这里:

https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm

里面提到了如果计算实例长期空闲,可能会被回收:

Reclamation of Idle Compute Instances

Idle Always Free compute instances may be reclaimed by Oracle. Oracle will deem virtual machine and bare metal compute instances as idle if, during a 7-day period, the following are true:

CPU utilization for the 95th percentile is less than 10%
Network utilization is less than 10%
Memory utilization is less than 10% (applies to A1 shapes only)

简单点说就是7天内,如果机器的cpu、内存、带宽使用率低于10%就视为是空闲的计算实例,可能会被回收。。。

我有2台免费的arm机器,确实一直放那里没怎么用,但是里面也跑了几个服务,只是这些服务都用不了多少资源,没办法为了机器不被回收,只能想办法把cpu、内存使用率再往上抬一抬。。。

这里介绍个小工具:lookbusy,这是一个linux系统负载生成器,可以根据你的配置来占用cpu、内存等资源。

以下是debian11编译安装lookbusy的方法:

  1. apt -y update
  2. apt -y install curl build-essential
  3. curl -L http://www.devin.com/lookbusy/download/lookbusy-1.4.tar.gz -o lookbusy-1.4.tar.gz
  4. tar -xzvf lookbusy-1.4.tar.gz
  5. cd lookbusy-1.4/
  6. ./configure
  7. make
  8. make install

新建systemd服务:

  1. systemctl edit –full –force lookbusy.service

写入systemd配置:

  1. cat > /etc/systemd/system/lookbusy.service <<EOF
  2. [Unit]
  3. Description=lookbusy service
  4.  
  5. [Service]
  6. Type=simple
  7. ExecStart=/usr/local/bin/lookbusy -c 20 -m 5120MB
  8. Restart=always
  9. RestartSec=10
  10. KillSignal=SIGINT
  11.  
  12. [Install]
  13. WantedBy=multi-user.target
  14. EOF

参数-c指cpu使用率,-m指内存使用率。可以根据自己的实例配置来适当配置。

启动并设置lookbusy开机自启:

  1. systemctl enable –now lookbusy.service
  2.  

检查机器cpu、内存、负载情况,确定超过甲骨文规定的10%即可:


坛友版:

每天0点开始每3小时让 cpu 自动锻炼 600秒,一天锻炼8次共80分钟(负荷10%~20%),满足5%时间CPU利用率大于10%(每天至少72分钟),锻炼量可以根据自己情况随心调节

重新安装,请先卸载,不然会有两条定时记录 ⏲️,导致锻炼过度

一键锻炼:

  1. # AMD & ARM & CENTOS & DEBIAN & UBUNTU ALL IN ONE
  2. cd /root && wget https://raw.githubusercontent.com/velor2012/lookbusy-docker/main/lookbusy -O lookbusy && chmod +x lookbusy && sudo echo “0 */3 * * * root timeout 600 /root/lookbusy -c 10-20 -r curve” >> /etc/crontab && grep -q centos /etc/os-release && service crond restart || service cron restart

一键卸载:

  1. sed -i “/lookbusy/d” /etc/crontab && rm -f /root/lookbusy && grep -q centos /etc/os-release && service crond restart || service cron restart

宝塔锻炼:
如果使用宝塔定时任务,就不用看前面的了,步骤如下:
1、在 shell 中执行下面命令,把 lookbusy 下载到 root 路径

  1. cd /root && wget https://raw.githubusercontent.com/velor2012/lookbusy-docker/main/lookbusy -O lookbusy && chmod +x lookbusy

2、在宝塔定时任务中配置如下图,脚本内容为

  1. timeout 600 /root/lookbusy -c 10-20 -r curve

3、在定时任务右下角可以测试执行,还能查看执行日志,非常直观好用


如有乐享版:

保活方法

开源仓库

就在甲骨文悄悄发这个消息后,有大佬已经提供了保活的代码了!

开源仓库:https://github.com/layou233/NeverIdle

简要步骤:(仓主提供了一键脚本,我没有测试)

  1. # 服务器安装 wget screen 
  2. yum install -y wget screen 
  3.  
  4. # 下载编译后的可执行文件
  5. # AMD服务器
  6. wget https://github.com/layou233/NeverIdle/releases/download/0.1/NeverIdle-linux-amd64 -O NeverIdle
  7.  
  8. # ARM
  9. wget https://github.com/layou233/NeverIdle/releases/download/0.1/NeverIdle-linux-arm64 -O NeverIdle
  10.  
  11. # 修改文件权限
  12. chmod 777 NeverIdle
  13.  
  14. # 使用screen运行程序
  15. screen -R baohuo
  16.  
  17. # 启动程序
  18. ./NeverIdle -c 2h -m 2 -n 4h
  19.  
  20. # 挂起screen 按 Ctrl+A+D
  21.  
  22. #再次进入screen
  23. screen -R baohuo
  24.  

命令参数:

  1. ./NeverIdle -c 2h -m 2 -n 4h

其中:

-c 指启用 CPU 定期浪费,后面跟随每次浪费的间隔时间。
如每 12 小时 23 分钟 34 秒浪费一次,则为 12h23m34s。按照格式填。

-m 指启用浪费的内存量,后面是一个数字,单位为 GiB。
启动后会占用对应量的内存,并且保持不会释放,直到手动杀死进程。

-n 指启用网络定期浪费,后面跟随每次浪费的间隔时间。
格式同 CPU。会定期执行一次 Ookla Speed Test(还会输出结果哦!)

Shell脚本

  1. 一键脚本
  2. curl https://keeporacle.pages.dev/ -o keeporacle.sh && chmod +x keeporacle.sh && ./keeporacle.sh
  3. wget https://keeporacle.pages.dev/ -O keeporacle.sh && chmod +x keeporacle.sh && ./keeporacle.sh
  4.  

来源:https://hostloc.com/thread-1131732-1-1.html

博主没有测试!

lookbusy

lookbusy 自己搜索部署方式

  1. lookbusy -c 50 # 占用所有 CPU 核心各 50%
  2. lookbusy -c 50 -n 2 # 占用两个 CPU 核心各 50%
  3. lookbusy -c 50-80 -r curve # 占用所有 CPU 核心在 50%-80% 左右浮动
  4. lookbusy -c 0 -m 128MB -M 1000 # 每 1000 毫秒,循环释放并分配 128MB 内存
  5. lookbusy -c 0 -d 1GB -b 1MB -D 10 # 每 10 毫秒,循环进行 1MB 磁盘写入,临时文件不超过 1GB
  6.  

计算圆周率

  1. nohup echo “scale=99999999;4*a(1)” | bc -lq > /dev/null &
  2. nohup cpulimit -l 30 -p 22489 >/dev/null &
  3.  
  4. scale那个代表小数点后的位数,数越大计算时间越长
  5. -l 那里可以控制cpu使用率0-200
  6. -p 那里写程序的PID,通过top命令查找,或者 ps -aux | grep bc
  7.  

来源:https://hostloc.com/thread-1131769-1-1.html

博主没有测试!

作者 root

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注