整理自网络,请自行甄别使用
目录 [隐藏]
荒岛版:
最近甲骨文针对永久免费的资源出了个新的政策,具体看这里:
里面提到了如果计算实例长期空闲,可能会被回收:
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
博主没有测试!