这个项目是给低负载机器做保活用的,占用项可选:CPU、内存、带宽。
运行脚本已统一为 POSIX sh 兼容,也可以直接用 bash 启动。
英文文档见 README_EN.md。
- Linux:Debian、Ubuntu、RHEL/CentOS/Oracle Linux/AlmaLinux/Rocky、Fedora、Amazon Linux、Arch、Alpine、openSUSE/SLES、Void、Gentoo 等常见发行版。
- BSD:FreeBSD、OpenBSD、NetBSD、DragonFly BSD 等带
cron和标准 POSIX 工具的系统。 - 调度:Linux 且有 systemd 时走 systemd;非 systemd 的 Linux 和 BSD 走 cron 监督器。
- 包管理器:
apt-get、dnf、yum、microdnf、zypper、apk、pacman、pkg、pkg_add、pkgin、xbps-install、emerge。
系统差异会自动降级处理。比如 BSD 没有 systemd 就走 cron;没有 speedtest 工具时,带宽模式会回退到默认速率估算,不会直接报错退出。
使用 sh:
curl -fsSL https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh -o oalive.sh
chmod +x oalive.sh
sh oalive.sh或使用 bash:
curl -fsSL https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh -o oalive.sh
chmod +x oalive.sh
bash oalive.sh在仓库目录内运行:
sh oalive.sh脚本需要 root 权限安装服务、cron、配置和日志目录。
1:安装或重装保活服务2:卸载保活服务3:更新安装引导脚本4:退出
也可以使用命令行参数:
sh oalive.sh --install
sh oalive.sh --uninstall
sh oalive.sh --status
sh oalive.sh --update- CPU:默认使用 POSIX 兼容占用逻辑,按“单核配额百分比”工作;2 到 4 核机器默认
核心数 * 20%,其他机器默认25%。在 systemd 环境会再写入CPUQuota做双重限制。 - 内存:默认目标为总内存
25%,每轮占用 300 秒、休息 300 秒。会读取 Linux/proc/meminfo或 BSDsysctl指标,并按临时目录可用空间限幅。 - 带宽:默认每 45 分钟触发一次,最长下载 6 分钟,速率按测速结果的 30%。自定义模式可直接指定 Mbps、时长、间隔。
- 调度:systemd 环境安装
cpu-limit.service、memory-limit.service、bandwidth_occupier.timer;cron 环境安装oalive-cron-runner.sh监督器。 - 安全:所有任务都有原子目录锁,避免并发重入;卸载时按锁和精确脚本路径停止任务,不再靠模糊进程名匹配。
- 日志:日志写入
/var/log/oalive,单文件默认 128 KiB 自动轮转到.1。
- 配置:
/etc/oalive/oalive.conf - 启用状态:
/etc/oalive/enabled.conf - 日志:
/var/log/oalive/ - 状态:
/var/lib/oalive/ - 运行锁:
/tmp/oalive-*.lock - 运行脚本:
/usr/local/bin/cpu-limit.sh、/usr/local/bin/memory-limit.sh、/usr/local/bin/bandwidth_occupier.sh、/usr/local/bin/oalive-cron-runner.sh
sh oalive.sh --uninstall卸载会停止 systemd 服务或删除 cron 块,清理运行脚本、配置、状态文件和锁。重复卸载是安全的。
安装后可以编辑 /etc/oalive/oalive.conf,再重启对应调度:
systemd:
systemctl daemon-reload
systemctl restart cpu-limit.service memory-limit.service
systemctl restart bandwidth_occupier.timercron:
sh /usr/local/bin/oalive-cron-runner.sh --check更多手动定时示例见 README_CRON.md。英文版定时说明见 README_CRON_EN.md。
资源占用能否影响云厂商回收策略,没有确定保证。
这个项目只提供可控、可卸载、低风险的占用任务,请按服务商条款和自己的实际用途自行判断。
VPS融合怪测评项目:
一键虚拟化项目: