LINUX.ORG.RU

Сообщения hakavlad

 

Выпуск Nohang v0.1 - демона, предотвращающего OOM в пространстве пользователя

Новости — Open Source
Выпуск Nohang v0.1 - демона, предотвращающего OOM в пространстве пользователя
Группа Open Source

Nohang - это демон для GNU/Linux, обрабатывающий ситуации нехватки памяти и предотвращающий OOM. Код открыт под лицензией MIT. Написан на Python, потребляет около 10 MiB VmRSS и настраивается с помощью редактирования конфига, расположенного по адресу /etc/nohang/nohang.conf. По сравнению с аналогичным проектом earlyoom, nohang обладает некоторыми дополнительными возможностями.

Основные особенности:

  • настраиваемая интенсивность мониторинга: если на сервере не предполагаются резкие перепады потребления памяти, то можно снизить нагрузку на процессор, снизив интенсивность мониторинга;
  • при нехватке памяти nohang сначала отправляет SIGTERM процессу с наибольшим oom_score. При дальнейшем падении уровня доступной памяти и отсутствии реакции на SIGTERM процесс с наибольшим oom_score получает SIGKIL. Уровни доступной памяти, при достижении которых должны происходить корректирующие действия, могут задаваться в процентах и в MiB;
  • возможность GUI уведомлений о результатах завершения процессов (реализовано с помощью notify-send);
  • возможность GUI уведомлений о низком уровне доступной памяти: настраиваемость уровня памяти, при котором отправляются уведомления, и минимальная периодичность уведомлений (по умолчанию уведомления отключены; уровни памяти для отправки: одновременное снижение уровней SwapFree и MemAvailable до 20%; минимальный период между отправками уведомлений - 20 секунд). В уведомлениях отображается уровень доступной памяти, а также Pid и Name процесса с наибольшим badness;
  • поддержка zram - mem_used_total в качестве триггера (может быть актуально для систем с большим disksize и низкой степенью сжатия сохраняемых в zram данных);
  • предохранение от убийства невинных жертв: задержки после отправки сигналов (по умолчанию 0.5 секунд для SIGTERM и 3 секунды для SIGKILL) предотвращают возможное массовое убийство процессов, так как память при завершении процессов может освобождаться не сразу; возможность игнорировать процессы, имеющие badness ниже заданного;
  • возможность модификации badness процессов перед выбором жертвы через сопоставление имён процессов с заданным в конфиге регулярным выражением;
  • возможна настройка запуска произвольной команды (например, sendmail или systemctl restart) вместо отправки сигнала SIGTERM жертве, если имя процесса-жертвы совпадает с заданным в конфиге именем.

>>> Подробности

 , ,

hakavlad
()

Выпуск earlyoom 1.2

Новости — Open Source
Группа Open Source

После трёх месяцев разработки опубликован выпуск фонового процесса earlyoom 1.2, который периодически проверяет объем доступной памяти (MemAvailable, SwapFree) и пытается на ранней стадии отреагировать на возникновения нехватки памяти.

( читать дальше... )

>>> Подробности

 , ,

hakavlad
()

Выпуск earlyoom 1.1

Новости — Open Source
Группа Open Source

Спустя пять месяцев после предыдущего релиза вышел earlyoom 1.1. Earlyoom - демон, периодически (10 раз в секунду) проверяющий объем доступной памяти (MemAvailable, SwapFree) и, если доступной памяти окажется меньше заданного объема, то процессу с максимальным oom_score будет отправлен сигнал SIGKILL для предотвращения Out of memory. Earlyoom поддерживает отправку десктопных уведомлений об убитых процессах (с помощью notify-send), а также возможность задать с помощью regex имена процессов, убийство которых предпочтительно (опция --prefer) или убийства которых стоит избегать (опция --avoid).

Основные изменения:

  • Исправлена возможная инъекция shell-кода через всплывающие уведомления.
  • Время сна после неудачи убийства процесса снижено с 10 до 1 секунды.
  • Всплывающие уведомления теперь отправляются после убийства процесса, а не перед.
  • Поддержка --help в дополнение к -h.
  • Исправлена проблема неверного отображения имен процессов во всплывающих уведомлениях.
  • Исправлено возможное деление на ноль при использовании опции -S.

>>> Подробности

 , ,

hakavlad
()

RSS подписка на новые темы