У Fedora 32 мають намір включити earlyoom для раннього реагування на нестачу пам'яті

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

У більш віддалених випусках Fedora розглядається можливість включення обробника нестачі пам'яті low-memory-monitor, який використовує Linux, що з'явився в ядрі 5.2 інтерфейс /proc/pressure/memory для оцінки нестачі пам'яті в системі, але на відміну від earlyoom відразу не завершує процеси, а відправляє через DBus повідомлення про необхідність знизити споживання пам'яті (якщо після цього ситуація не нормалізувалася, можлива активація) OOM Killer ядра). Low-memory-monitor вимагає модифікації додатків, тому він розглядається як рішення для віддаленої перспективи, яке можна буде використовувати після адаптації додатків GNOME.

Для відстеження ситуації нестачі пам'яті програмами в Glib 2.63.3 доданий API GMemoryMonitor, дозволяє відстежувати сигнали від low-memory-monitor і вживати заходів (наприклад, програма може звільнити пам'ять, що використовується для кешування, зберегти файли, запустити складання сміття, спробувати скоротити фрагментацію пам'яті або завершити допоміжні процеси, що простоюють). Підтримка
GMemoryMonitor також додана до xdg-desktop-portal для використання в ізольованих додатках, що поставляються у форматі flatpak.

Джерело: opennet.ru

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