Випуск earlyoom 1.3, процес для раннього реагування на нестачу пам'яті

Після семи місяців розробки опубліковано випуск фонового процесу earlyoom 1.3, який періодично перевіряє обсяг доступної пам'яті (MemAvailable, SwapFree) та намагається на ранній стадії відреагувати на виникнення нестачі пам'яті.

Якщо обсяг доступної пам'яті менший за задане значення, то earlyoom примусово (через відправку SIGTERM або SIGKILL) завершить роботу процесу, що найбільш активно споживає пам'ять (має найбільше значення /proc/*/oom_score), не доводячи стан системи до очищення системних буферів і заважає роботі свопінгу (обробник OOM (Out Of Memory) в ядрі спрацьовує коли стан нестачі пам'яті вже досяг критичних значень і зазвичай до цього моменту система вже не реагує на дії користувача).

Earlyoom підтримує відправлення повідомлень про примусово завершені процеси на робочий стіл (за допомогою notify-send), а також надає можливість визначення правил, в яких за допомогою регулярних виразів можна задати імена процесів, завершення яких переважно (опція «-prefer») або зупинки яких варто уникати (опція «avoid»).

Основні зміни у новому випуску:

  • Реалізовано очікування завершення процесу після надсилання йому сигналу. Це усуває проблему, що полягає в тому, що рано вчасно іноді вбиває більше одного процесу, коли одного буде достатньо;
  • Доданий допоміжний скрипт (notify_all_users.py) для сповіщення всіх зареєстрованих користувачів про завершення процесів через notify-send;
  • Виправлено некоректне відображення деяких імен процесів, що містять символи UTF-8;
  • Прийнято кодекс поведінки (Contributor Covenant Code of Conduct).

Джерело: opennet.ru

Додати коментар або відгук