Ранно издание на манипулатора за липса на памет 1.4

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

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

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

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

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

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

Добавяне на нов коментар