Väljaanne earlyoom 1.4 mälu puuduse käsitlemiseks

Pärast kaheksa kuu arendustööd avaldatud выпуск фонового процесса earlyoom 1.4, который периодически проверяет объем доступной памяти (MemAvailable, SwapFree) и пытается на ранней стадии отреагировать на возникновения нехватки памяти. Код проекта написан на языке Си и GNU Üldine Avaliku litsentsi alusel. под лицензий MIT.

Если объём доступной памяти меньше заданного значения, то earlyoom принудительно (через отправку SIGTERM или SIGKILL) завершит работу процесса, наиболее активно потребляющего память (имеющего самое большое значение /proc/*/oom_score), не доводя состояние системы до очистки системных буферов и мешающего работе своппинга (обработчик OOM (Out Of Memory) в ядре срабатывает когда состояние нехватки памяти уже достигло критичных значений и обычно к этому моменту система уже не реагирует на действия пользователя).

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

Peamised muudatused uues väljaandes:

  • За счёт отложенной загрузки атрибутов процессов на 50% ускорена логика выбора процессов для завершения;
  • Обеспечено отражение в логе UID завершаемого процесса, в дополнение к PID и имени процесса;
  • Добавлена подсветка отладочного лога светло серым цветом;
  • Koodi puhastamine on tehtud;
  • По возможности использовано объявление локальных для блоков переменных;
  • Добавлена настройка PATH_LEN для замены вшитого в код значения размера буфера;
  • Обеспечен запуск cppcheck при его наличии;
  • Добавлен тест производительности «make bench»;
  • Расширен набор тестов (make test);
  • Реализован сброс привилегий root в unit-файле systemd earlyoom.service. Это изменение ломает возможность GUI уведомлений. Для включения GUI уведомлений предлагается вернуть root права, раскомментировав «DynamicUser=true». Отключение root также toob kaasa к невозможности получения сведений о потреблении памяти при монтировании /proc в режиме hidepid=1 или hidepid=2.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster