Издаден е обработчик на недостиг на памет earlyoom 1.4

След натрупване на осем месеца разработки публикуван публикация на фоновия процес earlyoom 1.4, който периодично проверява наличната памет (MemAvailable, SwapFree) и се опитва да реагира на ранна фаза на недостиг на памет. Кодът на проекта е написан на езика С и се разпространява доставя лиценз MIT.

Ако наличната памет е под зададената стойност, earlyoom принудително (чрез изпращане на SIGTERM или SIGKILL) ще прекрати работа на процеса, който най-много консумира памет (с най-високата стойност /proc/*/oom_score), без да позволява на системата да достигне до изчистване на системните буфери и да възпрепятства работата на свопинга (обработчикът OOM (Out Of Memory) в ядрото сработва, когато недостигът на памет вече е достигнал критични стойности и обикновено в този момент системата не реагира на действията на потребителя).

Earlyoom поддържа изпращането на уведомления за принудително прекратени процеси на работния плот (чрез notify-send) и предлага възможност за определяне на правила, в които с помощта на регулярни изрази можете да зададете имената на процесите, чието прекратяване е за предпочитане (опция «—prefer») или спирането на които трябва да се избягва (опция «—avoid»).

Основни промени в новото издание:

  • Благодарение на отложеното зареждане атрибутите на процесите логиката за избор на процеси за прекратяване е ускорена с 50%;
  • Осигурено е отражение в логовете на UID на прекратяващия процес, освен PID и име на процеса;
  • Добавено е осветяване на отладъчния лог с светлосив цвят;
  • Извършена е чистка на кода;
  • По възможност са използвани декларации на локални променливи за блоковете;
  • Добавена е настройка PATH_LEN за замяна на вградената в кода стойност на размера на буфера;
  • Осигурен е старт на cppcheck, ако той е наличен;
  • Добавен е тест за производителност „make bench“;
  • Разширен е наборът от тестове (make test);
  • Реализиран е нулиране на привилегиите на root в unit-файла systemd earlyoom.service. Тази промяна разрушва дава възможност за GUI известия. За да включите GUI известия, се предлага да върнете права на root, разкоментирайки „DynamicUser=true“. Деактивирането на root също предлага води до невъзможността за получаване на информация за потреблението на памет при монтиране на /proc в режим hidepid=1 или hidepid=2.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster