用 earlyoom 防止内存不足导致的死机

安装一个极小的守护进程,在系统卡死之前干掉失控的内存大户。

Linux监控性能内存内存不足中风险
安装 earlyoom 后执行 sudo systemctl enable --now earlyoom,当剩余内存和 swap 低于阈值时它会自动终止最占内存的进程。

01命令

命令
$ sudo systemctl enable --now earlyoom

02作用说明

内存和 swap 耗尽时,内核会把时间都花在换页上,连内置的 OOM killer 都可能来不及出手,桌面就像死机一样。earlyoom 持续监视可用内存,在还有余量时就对 oom_score 最高的进程先 SIGTERM 再 SIGKILL,让系统保持可响应。它只占几百 KB 内存,不需要 cgroup 配置,任何发行版都能用。

03风险

风险中风险
使用条件earlyoom package (apt install earlyoom / dnf install earlyoom / pacman -S earlyoom). Works on any distro; no special kernel settings needed.
!注意: earlyoom 真的会杀进程——默认是最占内存的那个,如果那是你没保存的编辑器就惨了。用 journalctl -u earlyoom 查看它杀了谁,并可通过 --prefer / --avoid 参数引导它优先杀浏览器、放过关键程序。

04撤销

撤销
$ sudo systemctl disable --now earlyoom

05来源

  • earlyoom - Early OOM Daemon
    GitHub / rfjakob · community · 2026-09-17
    依据: 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)
    GitHub / rfjakob · community · 2026-09-17
    依据: Shows earlyoom.service and 'sudo systemctl enable --now earlyoom' plus tuning flags -m, --prefer and the low-memory kill logic.

最后验证: 2026-09-19 · 分类: 系统与设置

06相关方案