по умолчанию в Fedora 32 фонового процесса за ранно реагиране при недостиг на памет в системата. Ако наличната памет е по-малка от зададената стойност, earlyoom чрез изпращане на SIGTERM (освободена памет по-малка от 10%) или SIGKILL (< 5%) принудително ще завърши процеса, който най-активно е използвал памет (с най-високото значение на /proc/*/oom_score), без да доведе системата до изчистване на системните буфери. Earlyoom ще позволи по-оперативно реагиране на недостига на памет, без да стигаме до извикването на OOM обработчика (Out Of Memory) в ядрото, който сработва, когато ситуацията стане критична и системата обикновено вече не реагира на действията на потребителя.
В по-отдалечени версии на Fedora за включване на обработчик за недостиг на памет , който използва появилият се в ядрото Linux интерфейс /proc/pressure/memory за оценка на недостига на памет в системата, но за разлика от earlyoom, той незабавно не завършва процесите, а изпраща чрез DBus уведомление за необходимостта от намаляване на потреблението на памет (ако след това ситуацията не е нормализирана, може да бъде активиран на ядрото). Low-memory-monitor изисква модификация на приложенията, поради което се разглежда като решение за отдалечена перспектива, което може да бъде активирано след адаптиране на приложенията GNOME.
За проследяване на ситуацията с недостиг на памет в приложенията в Glib беше добавен API , да наблюдава сигнали от low-memory-monitor и да предприема мерки (например, приложението може да освободи памет, използвана за кеширане, да запази файлове, да стартира събиране на боклука, да се опита да намали фрагментацията на паметта или да завърши бездействуващи помощни процеси). Поддръжката на
GMemoryMonitor също е добавена в xdg-desktop-portal за използване в изолирани приложения, доставяни във формат flatpak.
Източник: opennet.ru
