用于集中管理一台或多台 Linux 主机上 Fail2Ban 的 Web 管理平台。
rfjakob/earlyoom
一个轻量的 Linux 用户态守护进程,在内存和 swap 耗尽导致系统卡死前,提前结束占用最多内存的进程。
- Star
- 4,351
- Fork
- 215
- 未关闭 Issue
- 28
- 最近提交
- 前天
这是什么?
earlyoom 是一个运行在 Linux 上的轻量守护进程,持续监控可用内存和空闲 swap,在内核自带的 OOM killer 介入之前提前结束进程。内核的 OOM killer 通常要等系统几乎无法响应、先经历大量 swap 和缓存回收后才动手,earlyoom 则在用户态以每秒最多十次的频率检查内存。
默认情况下,当可用内存和空闲 swap 同时低于总量的 10% 时,earlyoom 会向 oom_score 最高的进程发送 SIGTERM。阈值、SIGKILL 的触发条件以及目标进程的选择都可以通过 --prefer、--avoid、--ignore、--sort-by-rss 等参数调整。程序使用纯 C 编写,没有外部依赖,并通过 mlockall() 锁定自身内存,以便在内存紧张时仍能运行。
可以从源码编译安装,注册为 systemd 或 init.d 服务,也可以通过 Debian、Ubuntu、Fedora、Arch 等发行版的软件包安装。它还支持 d-bus 桌面通知,以及每次击杀进程后执行的脚本(-N 和 -P)。
核心功能
- 01每秒最多检查内存和空闲 swap 十次。
- 02先发送 SIGTERM,再发送 SIGKILL,阈值可配置。
- 03默认按 oom_score 选择目标,也可用 --sort-by-rss 按常驻内存选择。
- 04支持 --prefer、--avoid、--ignore 正则参数控制击杀对象。
- 05可选 d-bus 桌面通知,以及击杀前后执行的脚本。
- 06纯 C 编写,无外部依赖,提供 --dryrun 演练模式。
适用场景
- 浏览器或 IDE 内存泄漏时,保持桌面或笔记本电脑的响应速度。
- 保护共享的 Linux 服务器或编译机,避免失控进程拖垮整机。
- 在内存较小的虚拟机或单板机上运行,减少 swap 频繁抖动导致的卡顿。
- 内存压力导致进程被击杀时,触发告警或清理脚本。
标签
常见问题
- earlyoom 是什么?
- 一个轻量的 Linux 用户态守护进程,在内存和 swap 耗尽导致系统卡死前,提前结束占用最多内存的进程。 earlyoom 是一个运行在 Linux 上的轻量守护进程,持续监控可用内存和空闲 swap,在内核自带的 OOM killer 介入之前提前结束进程。内核的 OOM killer 通常要等系统几乎无法响应、先经历大量 swap 和缓存回收后才动手,earlyoom 则在用户态以每秒最多十次的频率检查内存。
- earlyoom 可以免费使用吗?用的什么许可证?
- earlyoom 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- earlyoom 还在维护吗?
- 活跃维护中。earlyoom 最近一次提交是在 2026年10月19日。
- earlyoom 适合用来做什么?
- 浏览器或 IDE 内存泄漏时,保持桌面或笔记本电脑的响应速度。 保护共享的 Linux 服务器或编译机,避免失控进程拖垮整机。 在内存较小的虚拟机或单板机上运行,减少 swap 频繁抖动导致的卡顿。 内存压力导致进程被击杀时,触发告警或清理脚本。
- 在哪里获取 earlyoom?
- 源代码和安装说明在 GitHub 上:https://github.com/rfjakob/earlyoom
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
面向 Linux 的终端界面工具,可查看监听中的网络端口并检查或结束对应进程。
一款命令行与终端界面工具,可追溯进程、端口、容器或文件的启动来源链。
一款用于查看、导出和清理 Windows DriverStore 驱动包的图形化工具,支持在线与离线系统。
交互式终端工具,可按名称、路径、参数或端口搜索进程并结束它们,类似 pkill 但支持实时模糊搜索。
本地优先的 AI 记忆系统,逐字保存对话历史,并通过语义搜索检索,提供 MCP 服务与命令行工具。