Выпуск earlyoom 1.3, працэсу для ранняга рэагавання на недахоп памяці

Пасля сямі месяцаў распрацоўкі апублікаваны выпуск фонавага працэсу earlyoom 1.3, які перыядычна правярае аб'ём даступнай памяці (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

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