整理自网络,请自行甄别使用
荒岛版:
最近甲骨文针对永久免费的资源出了个新的政策,具体看这里:
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的方法:
apt -y update apt -y install curl build-essential curl -L http://www.devin.com/lookbusy/download/lookbusy-1.4.tar.gz -o lookbusy-1.4.tar.gz tar -xzvf lookbusy-1.4.tar.gz cd lookbusy-1.4/ ./configure make make install
新建systemd服务:
systemctl edit --full --force lookbusy.service
写入systemd配置:
cat > /etc/systemd/system/lookbusy.service <<EOF [Unit] Description=lookbusy service [Service] Type=simple ExecStart=/usr/local/bin/lookbusy -c 20 -m 5120MB Restart=always RestartSec=10 KillSignal=SIGINT [Install] WantedBy=multi-user.target EOF
参数-c指cpu使用率,-m指内存使用率。可以根据自己的实例配置来适当配置。
启动并设置lookbusy开机自启:
systemctl enable --now lookbusy.service
检查机器cpu、内存、负载情况,确定超过甲骨文规定的10%即可:
坛友版:
每天0点开始每3小时让 cpu 自动锻炼 600秒,一天锻炼8次共80分钟(负荷10%~20%),满足5%时间CPU利用率大于10%(每天至少72分钟),锻炼量可以根据自己情况随心调节
重新安装,请先卸载,不然会有两条定时记录 ⏲️,导致锻炼过度
一键锻炼:
# AMD & ARM & CENTOS & DEBIAN & UBUNTU ALL IN ONE 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
一键卸载:
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 路径
cd /root && wget https://raw.githubusercontent.com/velor2012/lookbusy-docker/main/lookbusy -O lookbusy && chmod +x lookbusy
2、在宝塔定时任务中配置如下图,脚本内容为
timeout 600 /root/lookbusy -c 10-20 -r curve
3、在定时任务右下角可以测试执行,还能查看执行日志,非常直观好用
如有乐享版:
保活方法
开源仓库
就在甲骨文悄悄发这个消息后,有大佬已经提供了保活的代码了!
开源仓库:https://github.com/layou233/NeverIdle
简要步骤:(仓主提供了一键脚本,我没有测试)
# 服务器安装 wget screen yum install -y wget screen # 下载编译后的可执行文件 # AMD服务器 wget https://github.com/layou233/NeverIdle/releases/download/0.1/NeverIdle-linux-amd64 -O NeverIdle # ARM wget https://github.com/layou233/NeverIdle/releases/download/0.1/NeverIdle-linux-arm64 -O NeverIdle # 修改文件权限 chmod 777 NeverIdle # 使用screen运行程序 screen -R baohuo # 启动程序 ./NeverIdle -c 2h -m 2 -n 4h # 挂起screen 按 Ctrl+A+D #再次进入screen screen -R baohuo
命令参数:
./NeverIdle -c 2h -m 2 -n 4h
其中:
-c 指启用 CPU 定期浪费,后面跟随每次浪费的间隔时间。
如每 12 小时 23 分钟 34 秒浪费一次,则为 12h23m34s。按照格式填。
-m 指启用浪费的内存量,后面是一个数字,单位为 GiB。
启动后会占用对应量的内存,并且保持不会释放,直到手动杀死进程。
-n 指启用网络定期浪费,后面跟随每次浪费的间隔时间。
格式同 CPU。会定期执行一次 Ookla Speed Test(还会输出结果哦!)
Shell脚本
一键脚本 curl https://keeporacle.pages.dev/ -o keeporacle.sh && chmod +x keeporacle.sh && ./keeporacle.sh 或 wget https://keeporacle.pages.dev/ -O keeporacle.sh && chmod +x keeporacle.sh && ./keeporacle.sh
来源:https://hostloc.com/thread-1131732-1-1.html
博主没有测试!
lookbusy
lookbusy 自己搜索部署方式
lookbusy -c 50 # 占用所有 CPU 核心各 50% lookbusy -c 50 -n 2 # 占用两个 CPU 核心各 50% lookbusy -c 50-80 -r curve # 占用所有 CPU 核心在 50%-80% 左右浮动 lookbusy -c 0 -m 128MB -M 1000 # 每 1000 毫秒,循环释放并分配 128MB 内存 lookbusy -c 0 -d 1GB -b 1MB -D 10 # 每 10 毫秒,循环进行 1MB 磁盘写入,临时文件不超过 1GB
计算圆周率
nohup echo "scale=99999999;4*a(1)" | bc -lq > /dev/null & nohup cpulimit -l 30 -p 22489 >/dev/null & scale那个代表小数点后的位数,数越大计算时间越长 -l 那里可以控制cpu使用率0-200 -p 那里写程序的PID,通过top命令查找,或者 ps -aux | grep bc
来源:https://hostloc.com/thread-1131769-1-1.html
博主没有测试!
原文:
https://hostloc.com/thread-1132743-1-1.html
https://51.ruyo.net/18289.html