У 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

Дадаць каментар