Oracle 甲骨文闲置实例保活方法

图片[1]-Oracle 甲骨文闲置实例保活方法-OMii

由于很多龟友闲置资源,导致甲骨文从去年底开始酝酿清理闲置资源的方式,这次终于出详细规则。

2023年1月底,甲骨文云明确了具体回收闲置资源的规则,CPU / 网络 / 内存 都不符合要求会回收计算实例,账号不影响,回收后应该能再开新实例。一月份的公告如下:

空闲计算实例的回收Idle Always Free计算实例可能会被 Oracle 回收。如果在 7 天内满足以下条件,则 Oracle 会将虚拟机和裸机计算实例视为空闲:

  • 95%时间CPU利用率低于10%
  • 网络利用率低于10%
  • 内存利用率低于 10% (仅适用于A1 形状)(ARM实例

随后这一规则又被提高到低于15%,看来是要玩真的了。

为了可以继续免费使用甲骨文云,下面搜集一些方法来保持规则线之上。

Oracle Keep Alive

这是来自于一个G友帅比大佬的作品,所以在这也送它一个更特别的名字 Shuaibsport 。脚本同时对CPU、内存(仅ARM)、网络三项进行锻炼,使用非常简单。所以就放在第一位向大家介绍下。

Shuaibsport 2.0:脚本内已设定每天定时运行6个小时,卸载方式更简单

curl -skLO https://odcf.eu.org/oracle_keepalive.sh && bash oracle_keepalive.sh
或 
wget https://github.com/honorcnboy/oracle_keep_alive/raw/main/Shuaibi/keepalive2.sh && bash keepalive2.sh

Shuaibsport 1.0:脚本持续运行,如需定时,可根据自己需要通过cron设置启动及停止时间

wget https://github.com/honorcnboy/oracle_keep_alive/raw/main/Shuaibi/keepalive.sh && bash keepalive.sh

Shuaibsport-light:这是博主根据大佬1.0版本修改自用的。CPU、内存设定在甲骨文的标准下限临界值上,网络占用非常低。所以仅适用于已有项目在运行但达不到标准,同时也不想影响到自用项目网络的龟友。

wget https://github.com/honorcnboy/oracle_keep_alive/raw/main/Shuaibi/keepalive-light.sh && bash keepalive-light.sh
# 停止:
systemctl stop cpur 

# 重启:
systemctl restart cpur 

# 释放内存: 
umount /ramdisk 

# 完全卸载命令【适用于 1.0 及 light 版】: 
systemctl disable cpur --now 
sed -i '/\/opt\/shuaibi\/mem.sh/d' /etc/crontab 
umount /ramdisk &>/dev/null 
rm -rf /opt/shuaibi 
rm keepalive** 

# 2.0 版的卸载非常简单: 传入任意位置变量,比如:bash oracle_keepalive.sh 233 或是 bash keepalive2.sh 233 ,即可

Keepoccupied

出自于Hostloc论坛sesr大佬,原贴地址:《甲骨文保持占用》 。在此博主将其ARM命令与AMD命令整合到一个脚本中,由脚本自行判断,对CPU、内存(仅ARM)、网络三项进行锻炼。

运行命令

wget https://github.com/honorcnboy/oracle_keep_alive/raw/main/Sesr/keepoccupied.sh && bash keepoccupied.sh
# 停止:
systemctl stop KeepCPUMemory.service KeepNetwork.service 
或 
reboot   #直接重启也能停掉 

# 完全卸载命令: 
sudo systemctl stop KeepCPUMemory.service KeepNetwork.service && \ 
sudo systemctl disable KeepCPUMemory.service KeepNetwork.service && \ 
sudo rm /etc/systemd/system/KeepCPUMemory.service /etc/systemd/system/KeepNetwork.service && \ 
sudo rm /etc/systemd/system/multi-user.target.wants/KeepCPUMemory.service /etc/systemd/system/multi-user.target.wants/KeepNetwork.service && \ 
sudo rm keepoccupied.sh

NeverIdle

龟龟的锻炼量(时间、项目等)均可以根据自己的情况随心调节。

项目地址: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
启动程序的命令参数详解:

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

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

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

启动该程序后即立刻执行一次你配置的所有功能,可以观察效果。

计算圆周率

这一个也出自于Hostloc论坛的大佬(原贴直达),但是这个只锻炼CPU。

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 

# 直接shell死循环也可以 nohup cpulimit -l 30 bash -c "while :;do a=1;done" > /dev/null 2>&1 &

当然,方法还有很多,博主想说的是:再好的保活方法也不如自己真实使用!

本页内容已结束·点赞收藏不迷路
© 版权声明
THE END
谢各位老爷们打赏。
点赞8打赏分享
评论 共3条

请登录后发表评论