Oracle的always free oci实例,standard em2.1.micro,保活脚本

以下是可手动启动/停止的持续保活脚本

  • CPU 利用率 :持续 30%~50% 左右(可调)
  • 网络利用率 :持续 30%+(通过定期下载/上传产生流量)

不会轻易把实例搞崩溃,且完全可控。

1. 准备工作(执行一次)

bash 复制代码
sudo apt update
sudo apt install stress-ng iperf3 curl wget screen -y

2. 创建保活脚本

bash 复制代码
nano ~/keepalive.sh

粘贴以下内容:

bash 复制代码
#!/bin/bash
# Oracle E2.1 Micro 保活脚本 - CPU + 网络持续负载
# 可手动启动/停止

MODE=${1:-start}   # start / stop

if [ "$MODE" = "stop" ]; then
    echo "停止保活进程..."
    pkill -f "stress-ng.*keepalive"
    pkill -f "iperf3.*keepalive"
    pkill -f "wget.*keepalive"
    echo "已停止"
    exit 0
fi

echo "启动保活进程... (CPU ~50% + 网络持续活动)"
echo "按 Ctrl+C 停止当前会话,或用 ./keepalive.sh stop 停止"

# CPU 负载:用 stress-ng 产生适中持续负载(可调 --cpu-load)
stress-ng --cpu 1 --cpu-load 50 --timeout 0 --metrics-brief &

# 网络负载:用 iperf3 + wget 组合,产生稳定流量
while true; do
    # iperf3 下载测试(每轮跑 45 秒)
    iperf3 -c iperf.cloudflare.net -t 45 -P 1 >/dev/null 2>&1 || true
    
    # 下载大文件产生爆发流量
    wget -q -O /dev/null --timeout=30 --tries=2 https://speed.cloudflare.com/__down?bytes=50000000 2>/dev/null || true
    
    # 随机等待 30-90 秒,保持利用率波动但整体 >30%
    sleep $((RANDOM % 60 + 30))
done

保存后赋予权限:

bash 复制代码
chmod +x ~/keepalive.sh

3. 使用方法(手动控制)

启动

bash 复制代码
cd ~
./keepalive.sh

推荐用 screen 后台运行(这样退出 SSH 也不会停止):

bash 复制代码
screen -S keepalive
./keepalive.sh
# 按 Ctrl+A 再按 D 脱离 screen

停止

bash 复制代码
./keepalive.sh stop
# 或
screen -r keepalive   # 重新进入后 Ctrl+C

4. 进阶:做成 Systemd 服务(推荐长期使用)

bash 复制代码
sudo nano /etc/systemd/system/keepalive.service

内容:

ini 复制代码
[Unit]
Description=Oracle Keepalive Service (CPU + Network)
After=network.target

[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu
ExecStart=/home/ubuntu/keepalive.sh
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

启用服务:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl enable --now keepalive.service

# 查看状态
sudo systemctl status keepalive.service

# 停止/启动
sudo systemctl stop keepalive.service
sudo systemctl start keepalive.service

效果预期

  • CPU:基本稳定在 30%~45%
  • 网络:利用率超过 30%(取决于你的带宽上限)
  • 可随时手动停止,不会一直占用资源

注意

  • E2.1 Micro 内存只有 1GB,不要把 CPU load 调太高(35% 左右最安全)。
  • 定期用 htop 检查负载(sudo apt install htop)。
  • 如果实例变慢,可把 --cpu-load 35 调低到 25-30。
相关推荐
weixin_394758034 小时前
CRMEB 会员电商系统PRO系统安装之宝塔安装教程-新手推荐(软件管理)
服务器·阿里云
s_w.h4 小时前
【 linux 】动静态库的制作
linux·运维·服务器·算法·bash
专注VB编程开发20年5 小时前
安卓APP与服务器通讯技术,文件传输和文字消息收发
运维·服务器
lihui_cbdd6 小时前
HPC 集群上 OpenMM GPU 多版本安装实战指南
运维·服务器·人工智能·计算化学
jnrjian6 小时前
CDB 中某个PDB的datafile 丢失 没有备份过也可恢复 需要来回切换CDB PDB
oracle
Xpower 176 小时前
MCP 服务器暴露在公网:AI Agent 工具层正在变成新的安全边界
服务器·人工智能·安全
深圳市晶科鑫实业有限公司7 小时前
5G与AIoT时代:如何选择晶振常用频率?
服务器·单片机·物联网·5g·智能路由器·健康医疗·信息与通信
zandy10118 小时前
衡石科技 NL2Metrics 技术深度解析(2026):ChatBI 准确度破局的关键路径
数据库·科技·oracle
Java小白笔记8 小时前
Linux 手动部署 Oracle JDK 17 完全指南
java·linux·oracle
anew___8 小时前
《数据库原理》精要解读(三)—— SQL:与数据库对话的艺术
数据库·sql·oracle