После восьми месяцев разработки опубликован выпуск фонового процесса earlyoom 1.4, который периодически проверяет объем доступной памяти (MemAvailable, SwapFree) и пытается на ранней стадии отреагировать на возникновения нехватки памяти. Код проекта написан на языке Си и распространяется под лицензий MIT.
Если объём доступной памяти меньше заданного значения, то earlyoom принудительно (через отправку SIGTERM или SIGKILL) завершит работу процесса, наиболее активно потребляющего память (имеющего самое большое значение /proc/*/oom_score), не доводя состояние системы до очистки системных буферов и мешающего работе своппинга (обработчик OOM (Out Of Memory) в ядре срабатывает когда состояние нехватки памяти уже достигло критичных значений и обычно к этому моменту система уже не реагирует на действия пользователя).
Earlyoom поддерживает отправку уведомлений о принудительно завершённых процессах на рабочий стол (с помощью notify-send), а также предоставляет возможность определения правил, в которых при помощи регулярных выражений можно задать имена процессов, завершение которых предпочтительно (опция «—prefer») или остановки которых стоит избегать (опция «—avoid»).
По возможности использовано объявление локальных для блоков переменных;
Добавлена настройка PATH_LEN для замены вшитого в код значения размера буфера;
Обеспечен запуск cppcheck при его наличии;
Добавлен тест производительности «make bench»;
Расширен набор тестов (make test);
Реализован сброс привилегий root в unit-файле systemd earlyoom.service. Это изменение ломает возможность GUI уведомлений. Для включения GUI уведомлений предлагается вернуть root права, раскомментировав «DynamicUser=true». Отключение root также приводит к невозможности получения сведений о потреблении памяти при монтировании /proc в режиме hidepid=1 или hidepid=2.