用 earlyoom 防止内存不足导致的死机
安装一个极小的守护进程,在系统卡死之前干掉失控的内存大户。
安装 earlyoom 后执行 sudo systemctl enable --now earlyoom,当剩余内存和 swap 低于阈值时它会自动终止最占内存的进程。
01命令
命令
$ sudo systemctl enable --now earlyoom02作用说明
内存和 swap 耗尽时,内核会把时间都花在换页上,连内置的 OOM killer 都可能来不及出手,桌面就像死机一样。earlyoom 持续监视可用内存,在还有余量时就对 oom_score 最高的进程先 SIGTERM 再 SIGKILL,让系统保持可响应。它只占几百 KB 内存,不需要 cgroup 配置,任何发行版都能用。
03风险
!注意: earlyoom 真的会杀进程——默认是最占内存的那个,如果那是你没保存的编辑器就惨了。用 journalctl -u earlyoom 查看它杀了谁,并可通过 --prefer / --avoid 参数引导它优先杀浏览器、放过关键程序。
04撤销
撤销
$ sudo systemctl disable --now earlyoom05来源
- earlyoom - Early OOM Daemon依据: README instructs installing the package and running sudo systemctl enable --now earlyoom, and documents defaults like -m 5 (kill at 5% RAM) and --prefer.
- earlyoom README (raw)依据: Shows earlyoom.service and 'sudo systemctl enable --now earlyoom' plus tuning flags -m, --prefer and the low-memory kill logic.
最后验证: 2026-09-19 · 分类: 系统与设置