前几日挖了个大坑,今天补一下,谈谈甲骨文闲置实例如何防止回收。
回收原则
2022年11月16日 Oracle添加声明: 从 2022 年 11 月 24 日开始,您闲置的 Always Free 计算实例可能会停止。巴拉巴拉,您还可以随时升级您的帐户以避免中断。
2023年1月末,甲骨文正式出台闲置定义和回收原则:
如果在 7 天内满足以下条件,则 Oracle 会将虚拟机和裸机计算实例视为空闲:
95%时间CPU利用率低于10%
网络利用率低于10%
内存利用率低于 10% (仅适用于A1 形状)(ARM实例)
实践证明
无论是arm还是amd,只要是闲置都可能被回收,回收之前会收到邮件,内容如下:
应对策略
绝大多数的网友,也包括R探长、github迅速反应,增加了占用内存、cpu和网络的脚本,意思就是你要回收,那么我就达到不闲置的假象。
这些脚本一搜索满地都是,我就不收集了。不过仍然有人用了脚本,也被回收了,群里就有。
我目前有6个用于录制教程的vps,2C8G配置,轮换使用,不过仍然有个别的机器目前处于闲置状态,有时候甚至把它忘掉了,那么如何不被回收呢?
我使用的方法非常简单,那就是“关闭监控”,至于道理么,我的理解就是甲骨文会通过对所有vps的统计数据来确定哪些机器处于闲置状态,根据就是甲骨文的:oracle-cloud-agent,这个程序在后台统计cpu、内存和网络使用情况,不达标就会发通知邮件,到期停止该实例。
以上是我自己的理解,因为除了oracle-cloud-agent,甲骨文就无法知道我是否闲置,我目前已有知识范围内是没有别的方法了,肯定不会连接到你的实例,看看资源情况对吧。如果我说的不正确,欢迎指正!
解决方案
一、在新建实例最后,点击显示高级选项
,在oracle cloud agent
选项卡中直接关闭所有监控组件;
二、已有实例,root模式下执行:snap remove oracle-cloud-agent
三、dd系统,一劳永逸。目前支持amd和arm的脚本:
bash <(wget --no-check-certificate -qO- 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh') -u 20.0