Веб-платформа для управления Fail2Ban на одном или нескольких Linux-хостах: блокировки, jail, фильтры и оповещения.
rfjakob/earlyoom
Лёгкий пользовательский демон для Linux, который завершает самый крупный процесс, прежде чем нехватка памяти и swap приведёт к зависанию системы.
- Звёзды
- 4,351
- Форки
- 215
- Открытые issues
- 28
- Последний коммит
- позавчера
Что это?
earlyoom — небольшой демон для Linux, который следит за доступной памятью и свободным swap и завершает процесс до того, как сработает встроенный в ядро OOM killer. Обычно OOM killer ждёт, пока система почти перестанет отвечать, а до этого система активно использует swap и сбрасывает кэши. earlyoom работает в пользовательском пространстве и проверяет память до десяти раз в секунду, ориентируясь на показатель «available», а не «free».
По умолчанию, когда доступная память и свободный swap опускаются ниже 10% от общего объёма, earlyoom отправляет SIGTERM процессу с наибольшим oom_score. Пороговые значения, этап с SIGKILL и выбор процесса можно настроить параметрами командной строки, например --prefer, --avoid, --ignore и --sort-by-rss. Демон написан на C без зависимостей и блокирует свою память с помощью mlockall(), чтобы продолжать работу при нехватке памяти.
earlyoom можно собрать из исходников командой make, зарегистрировать как службу systemd или init.d либо установить из пакетов для Debian, Ubuntu, Fedora и Arch. Дополнительные уведомления d-bus и скрипты для каждого завершения процесса (-N и -P) позволяют реагировать на такие завершения.
Ключевые возможности
- 01Проверяет доступную память и свободный swap до 10 раз в секунду.
- 02Сначала отправляет SIGTERM, затем SIGKILL; пороговые значения настраиваются.
- 03Выбирает процессы по oom_score или по RSS с помощью --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 работает в пользовательском пространстве и проверяет память до десяти раз в секунду, ориентируясь на показатель «available», а не «free».
- earlyoom можно использовать бесплатно? Какая у него лицензия?
- earlyoom распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- earlyoom всё ещё поддерживается?
- Активно поддерживается. Последний коммит в earlyoom — 19 окт. 2026 г..
- Для чего можно использовать earlyoom?
- Поддержание отзывчивости настольного компьютера или ноутбука, если браузер или IDE из-за утечки памяти потребляет слишком много ресурсов. Защита общих Linux-серверов и машин для сборки от процессов, потребляющих чрезмерно много ресурсов. Работа на виртуальных машинах с небольшим объёмом памяти или одноплатных компьютерах, где часто возникает активное использование swap. Запуск оповещений или скриптов очистки при каждом завершении процесса из-за нехватки памяти.
- Где скачать earlyoom?
- Исходный код и инструкции по установке — на GitHub: https://github.com/rfjakob/earlyoom
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Терминальный интерфейс для Linux, который показывает занятые сетевые порты и позволяет просматривать или завершать процессы, использующие их.
CLI и TUI, которые прослеживают цепочку систем, запустивших процесс, занявших порт или контейнер либо открывших файл.
Графический инструмент для Windows: просмотр, экспорт и очистка пакетов драйверов в Windows DriverStore, в работающей системе и офлайн-образах.
Интерактивный терминальный инструмент для поиска процессов по имени, пути, аргументам или порту и их завершения — как pkill, но с поиском на лету.
Локальная AI-система памяти: хранит историю диалогов без изменений и находит нужное с помощью семантического поиска; доступна как MCP-сервер и CLI.