След седем месеца разработка публикация на фоновия процес , който периодично проверява наличната памет (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
