След седем месеца разработка издание на фоновия процес , който периодично проверява обема на наличната памет (MemAvailable, SwapFree) и се опитва на ранен етап да реагира на възникваща липса на памет.
Ако обемът на наличната памет е по-малък от зададената стойност, earlyoom принудително (чрез изпращане на SIGTERM или SIGKILL) приключва процеса, който най-интензивно консумира памет (има най-висока стойност в /proc/*/oom_score), без да доведе системата до почистване на системните буфери и пречи на работата по свопинг (обработчикът OOM (Out Of Memory) в ядрото се активира, когато състоянието на недостиг на памет вече е достигнало критични стойности и обикновено в този момент системата вече не реагира на действията на потребителя).
Earlyoom поддържа изпращането на известия за принудително приключени процеси на работния плот (чрез notify-send), а също така предлага възможност за определяне на правила, при които с помощта на регулярни изрази могат да се зададат имена на процеси, чийто завършек е предпочитан (опция "—prefer") или чието спиране следва да се избягва (опция "—avoid").
Основни промени в новото издание:
- Внедрено е изчакване за завършване на процеса след изпращането на сигнал. Това отстранява проблема, при който earlyoom понякога убива повече от един процес, когато един е достатъчен;
- Добавен е помощен скрипт (notify_all_users.py) за уведомяване на всички влезли потребители за завършване на процеси чрез notify-send;
- Коригирано е неправилното изобразяване на някои имена на процеси, съдържащи UTF-8 символи;
- Приета е кодекс на поведение (Contributor Covenant Code of Conduct).
Източник: opennet.ru
