Repolode
rfjakob

rfjakob/earlyoom

Un daemon ligero de espacio de usuario para Linux que mata el proceso más grande antes de que el sistema se congele por falta de memoria y swap.

Estrellas
4,351
Forks
215
Issues abiertos
28
Último commit
anteayer

¿Qué es?

earlyoom es un daemon pequeño para Linux que supervisa la memoria disponible y el espacio libre de swap, y mata un proceso antes de que intervenga el OOM killer integrado del kernel. Por lo general, el OOM killer del kernel espera hasta que el sistema está casi inutilizable; primero usa swap y libera cachés. earlyoom se ejecuta en el espacio de usuario y comprueba la memoria hasta diez veces por segundo. Para ello, usa la cifra de memoria «available» en lugar de «free».

De forma predeterminada, cuando tanto la memoria disponible como el espacio libre de swap caen por debajo del 10 % del total, earlyoom envía SIGTERM al proceso con el oom_score más alto. Puedes ajustar los umbrales, una fase de SIGKILL y la elección del proceso que se terminará mediante opciones de línea de comandos como --prefer, --avoid, --ignore y --sort-by-rss. Está escrito en C, no tiene dependencias y bloquea su memoria con mlockall() para seguir ejecutándose cuando hay presión de memoria.

Puedes compilarlo e instalarlo desde el código fuente con make, registrarlo como servicio de systemd o init.d, o instalarlo desde paquetes para Debian, Ubuntu, Fedora y Arch. Las notificaciones opcionales de d-bus y los scripts que se ejecutan por cada terminación (-N y -P) te permiten reaccionar cuando se mata un proceso.

Funciones clave

  • 01Comprueba la memoria disponible y el espacio libre de swap hasta 10 veces por segundo.
  • 02Primero envía SIGTERM y luego SIGKILL, con umbrales configurables.
  • 03Elige los procesos que terminará según el oom_score o el RSS con --sort-by-rss.
  • 04Admite expresiones regulares con --prefer, --avoid y --ignore para controlar qué procesos selecciona.
  • 05Notificaciones opcionales de d-bus y scripts que se ejecutan antes o después de terminar un proceso.
  • 06Escrito en C puro, sin dependencias; incluye el modo --dryrun.

Casos de uso

  • Mantener ágil un equipo de escritorio o portátil cuando un navegador o IDE tiene una fuga de memoria.
  • Proteger servidores Linux compartidos o máquinas de compilación frente a procesos que consumen recursos sin control.
  • Ejecutarlo en máquinas virtuales con poca memoria o en computadoras de placa única donde es frecuente que la swap se sature.
  • Activar alertas o scripts de limpieza cada vez que se termina un proceso por presión de memoria.

Temas

Preguntas frecuentes

¿Qué es earlyoom?
Un daemon ligero de espacio de usuario para Linux que mata el proceso más grande antes de que el sistema se congele por falta de memoria y swap. earlyoom es un daemon pequeño para Linux que supervisa la memoria disponible y el espacio libre de swap, y mata un proceso antes de que intervenga el OOM killer integrado del kernel. Por lo general, el OOM killer del kernel espera hasta que el sistema está casi inutilizable; primero usa swap y libera cachés. earlyoom se ejecuta en el espacio de usuario y comprueba la memoria hasta diez veces por segundo. Para ello, usa la cifra de memoria «available» en lugar de «free».
¿earlyoom es gratuito? ¿Qué licencia tiene?
earlyoom es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿earlyoom sigue mantenido?
Mantenimiento activo. El último commit de earlyoom fue el 19 oct 2026.
¿Para qué puedo usar earlyoom?
Mantener ágil un equipo de escritorio o portátil cuando un navegador o IDE tiene una fuga de memoria. Proteger servidores Linux compartidos o máquinas de compilación frente a procesos que consumen recursos sin control. Ejecutarlo en máquinas virtuales con poca memoria o en computadoras de placa única donde es frecuente que la swap se sature. Activar alertas o scripts de limpieza cada vez que se termina un proceso por presión de memoria.
¿Dónde consigo earlyoom?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/rfjakob/earlyoom

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados