开源项目 nerdy-holder, 智能占用内存让你的 Oracle A1 免费实例永不被回收

2025 年 11 月 11 日
 bOOOOc

甲骨文的 Always Free Ampere A1 服务器在被判定为闲置时可能会被回收, 具体的回收规则 (2025.11.11) 如下:

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 20%
  • Network utilization is less than 20%
  • Memory utilization is less than 20% (applies to A1 shapes only)

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

所以说我做了这个小工具, 可以智能的稳定你的内存在一个可被设置的百分比, 默认是 25%-35%区间每隔几分钟随机调整 (虽然说没有证据表明甲骨文会回收内存占用极其稳定的服务器, 但是故意制造随机的浮动看起来更安全点). 并且有高级的策略智能地释放和填补内存, 尽可能让它完全不真正"浪费"任何内存.

项目地址: https://github.com/bOOOOcG/nerdy-holder


使用方法:

对于 Ubuntu/Debian 你只需要一条指令即可完成部署:

# 安装 (Ubuntu/Debian)
curl -fsSL https://raw.githubusercontent.com/bOOOOcG/nerdy-holder/main/remote-install.sh | sudo bash

# 卸载 (Ubuntu/Debian)
curl -fsSL https://raw.githubusercontent.com/bOOOOcG/nerdy-holder/main/remote-uninstall.sh | sudo bash

# 查看状态 (Ubuntu/Debian)
curl -fsSL https://raw.githubusercontent.com/bOOOOcG/nerdy-holder/main/deployment/monitor.sh | bash

对于 Oracle Linux / CentOS / Rocky Linux 😅:

# 1. 安装依赖
sudo yum install -y python3 python3-pip git

# 2. 克隆项目
git clone https://github.com/bOOOOcG/nerdy-holder.git
cd nerdy-holder

# 3. 安装 Python 依赖
sudo pip3 install -r requirements.txt

# 4. 创建安装目录
sudo mkdir -p /opt/nerdy-holder
sudo cp -r nerdy_holder/ /opt/nerdy-holder/
sudo cp run_holder.py /opt/nerdy-holder/
sudo cp requirements.txt /opt/nerdy-holder/

# 5. 创建 systemd 服务
sudo tee /etc/systemd/system/nerdy-holder.service > /dev/null << 'EOF'
[Unit]
Description=Nerdy Holder - Memory Management
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/nerdy-holder
ExecStart=/usr/bin/python3 /opt/nerdy-holder/run_holder.py
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
EOF

# 6. 启动服务
sudo systemctl daemon-reload
sudo systemctl enable nerdy-holder
sudo systemctl start nerdy-holder

# 7. 检查状态
systemctl status nerdy-holder

Important: Oracle 可能会时不时更改判定规则, 比如说之前最开始是 10%, 然后提升到 15% 现在是 20%, 所以说你可能需要关注最新政策来配置你的 nerdy-holder.


FAQ

Q: 你可以提供 docker 吗😥?你可以提供 docker 吗😫?你可以提供 docker 吗😭?

A: 说真的, 你不应该用 Docker 运行它 🤓☝

Q: 为什么它叫 nerdy-holder

A: 因为我们采用了大量的酷算法让他更好的完成这个水多加面, 面多加水的简单工作! 包括 PID 控制算法 EMA 指数算法 成本-收益分析 非对称策略算法, 因为算法太多导致需要的参数变量太多 所以说甚至有一个自我学习优化参数算法自动优化所有的策略, 所以说你完全不需要为了每个环境配置精心调配任何参数, 它就可以自我学习适配到任何的环境任何的服务器完美工作, 甚至有一个 benchmark.

Q: 为什么需要 PID,EMA,成本-收益分析,非对称策略,自我学习,benchmark?

A: 因为过度设计很酷, 而且可以学习到很多东西.

Q: 我没有抢到 Oracle 的 A1 实例怎么办????

A: 你可以在你的个人电脑运行这个 nerdy-holder 让微软不会回收你的个人电脑.

Q: 我可以用于其他的场景吗, 我没有 oracle 服务器, 但是我看最近又涨价的金子内存条被我花钱买过来 天天占用极其低让我心里非常不舒服, 我想让他占用高的同时又不影响我日常使用, 我可以用这个 nerdy-holder 配置为固定占用内存到 100%吗?

A: 当然可以, 不过我建议设置为 80% 到 90%, 100% 可能会影响你的正常使用.

Q: 它会浪费我的 RAM 吗?

A: 我们有非对称策略, 在你需要用到内存时 他可以智能的秒级释放内存.

Q: 这违反任何 ToS 吗?

A: 这不违反任何的 ToS, 本质上和你故意运行一些服务试图让 Oracle 判定你的服务器并不是闲置的原理一样, 只是这个会更智能和适合长期作为服务运行

1939 次点击
所在节点    分享创造
6 条回复
totoro625
2025 年 11 月 11 日
时代的回忆啊,现在很多网站封禁 AS31898 ,用甲骨文的机器都不让访问了

21 年注册的账号,信用卡都过期了,24 年账号都被封了,里面的 A1 还在运行

当时也是跑的动态占用脚本,一点用都没有;现在佛系了,CPU 1%,内存 0.5/24G ,依旧正常运行

另外一个 19 年注册的账号,信用卡都过期了,A1*2 ,CPU 8%,内存 0.5/6G ,好几年了从没停过
mailfarmer
2025 年 11 月 11 日
哪里需要这么复杂啊,删掉甲骨文的 agent 就行了
LifeDesigner
2025 年 11 月 11 日
看起来好厉害啊!给楼主顶一下,另外想提个需求,看能不能加一个同样功能的 GPU 占用
SenLief
2025 年 11 月 11 日
直接 dd
needpp
2025 年 11 月 12 日
添加支付方式即可,根本不会回收; 你这种不用又占着资源。。。
bOOOOc
2025 年 11 月 12 日
@needpp 官方文档没有说添加支付方式就不会被判定为闲置回收,而且目前的 OCI 新账户注册的时候就必须需要添加支付方式和认证,以及这个项目会智能的迅速释放资源 不会导致浪费

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/1171876

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX