The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Сравнение работающих в пространстве пользователя обработчиков нехватки памяти
earlyoom https://github.com/rfjakob/earlyoom

Простой, лёгкий, стабильный. VmRSS меньше мегабайта, нагрузка на процессор
околонулевая. С релиза 1.3 стал очень надёжен (исправлено возможное убийство
невиновных). Лучший выбор для домохозяек, которым не нужны лишние настройки, а
нужна хорошая работа из коробки. Поддержка PSI обсуждается
(https://github.com/rfjakob/earlyoom/issues/100 - автор давно собирался
добавить поддержку PSI, но в последнее время засомневался в целесообразности
этого. Проводятся работы по убеждению сенсея в необходимости добавления
поддержки PSI).

Присутствует в репозиториях Fedora, Ubuntu 18.04+ и Debian 10+. Начиная с
версии 1.3 могу смело рекомендовать его в качестве дефолтного киллера для
десктопа. Начиная с
версии 1.3 могу смело рекомендовать его в качестве применяемого по умолчанию
oom-killer для десктопа. Будет [[https://pagure.io/fedora-workstation/issue/119 включён[[ в Fedora 32 Workstation по умолчанию.




nohang https://github.com/hakavlad/nohang

Явная и очень гибкая конфигурация. Десятки параметров настройки в конфиге.
Подробная печать свойств завершаемого процесса. Печать таблицы процессов со
свойствами всех процессов перед корректирующим действием. Возможность реакции
на PSI (pressure stall information, https://lwn.net/Articles/759658/) с выбором
произвольной метрики и сигруппы для мониторинга. Возможность кастомизации
корректирующих действий: отправка жертве любого сигнала (помимо
SIGTERM/SIGKILL) или выполнение произвольной команды. Возможность тонкого
влияния на badness процесса путем сопоставления его name, cmdline, cgroup, exe
realpath c заданным регулярным выражением. Уведомления о низком уровне памяти
(произвольной командой или через notify-send). Подготовлены пакеты  для Fedora
и CentOS 7.

Минусы: мало документации. Хочу релизнуться, но лень писать документацию. Можно
рекомендовать тем, кому не хватает возможностей earlyoom (у последнего нет
поддержки PSI и уведомлений о нехватке памяти).

oomd https://github.com/facebookincubator/oomd

Работает только с сигруппами - минимальным объектом для корректирующего
действия является сигруппа. Это означает, что при применении на десктопе oomd
убъёт всю сессию посредством SIGKILL. В связи с этим рекомендуется только для
крупных высоконагруженных серверов. Плюс требования: работает только с systemd,
cgroup2 должна быть единственной иерархией, иерархия cgroup_v1 должна быть
отключена + требуется ядро с поддержкой PSI + своп должен быть включен (без
свопа oomd бесполезен). Плюс oomd заметно грузит CPU - нагрузка в 4.5% в
порядке вещей (We see this internally too. Something like 4.5% of a core all
the time. -
https://github.com/facebookincubator/oomd/issues/79#issuecomment-520615498 ).
Модульная архитектура, но издержки описаны выше. Пакеты сформированы только для Fedora.

low-memory-monitor https://gitlab.freedesktop.org/hadess/low-memory-monitor/

Рано делать выводы. Идея просить процессы умерить аппетиты самостоятельно
вызывает скепсис. В остальном этот киллер примитивен и не содержит других киллер-фич.

Итог

Если у вас CentOS 6, или слабое железо, или не нужно ничего лишнего, или
хочется "быстро поставить и забыть" - ставьте earlyoom. Nohang имеет
дополнительные возможности, полезные как для десктопа, так и для сервера. oomd
лучше не трогать, если сам не из Фейсбука.
 
28.08.2019 , Автор: кек , Источник: https://www.opennet.ru/openforum/vs...
Ключи: oomkill, memory, earlyoom, nohang, oomd
Раздел:    Корень / Администратору / Система / Linux специфика / Оптимизация и тюнинг в Linux

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Аноним (1), 15:31, 28/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а зачем вы вставляли перевод каретки в конце каждой строки? на телефоне читать то еще удовольствие, когда у тебя каждаястрока - как абзац.
     
  • 1.2, RHEL Fan (?), 09:29, 29/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    "киллер примитивен и не содержит других киллер-фич" - фраза дня!
     
     
  • 2.3, Аноним (3), 09:41, 12/09/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Киллер-фраза же!
     

  • 1.4, X4asd (ok), 22:28, 21/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    '
     
  • 1.5, X4asd (ok), 22:29, 21/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Проводятся работы по убеждению сенсея в необходимости добавления поддержки PSI

    теперь всё про эти ваши киллеры ясно

     
  • 1.8, Аноним (8), 09:04, 30/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лишь бы cgroups не изучать.
     
     
  • 2.10, Аноним (-), 14:56, 03/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    пассивное ограничение ресурсов и активный отстрел одуревших программ - немного разные вещи
     

  • 1.9, Аноним (-), 14:55, 03/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    писать системный тул такого плана на питоне - просто верх ламерства.
     
     
  • 2.11, kek (??), 08:21, 11/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    У нас за плечами был двухнедельный курс питона на курсере, мы обрабатывали нехватку памяти как могли.
     
  • 2.17, tr (?), 21:44, 09/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    dnf, Portage, fail2ban на питоне. Брат жив, зависимость есть.
     

  • 1.12, InuYasha (?), 11:48, 14/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо за обзор!
    Для ООМирования эластика, наверное, лучше будет nohang. Когда обычный ООМ покоцает ему пару нитей, надо рестартовать весь сервис. А nohang сможет этот рестарт запустить.
     
     
  • 2.13, кек (?), 08:38, 17/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Разве через системд юнит рестарт не настраивается?

    Restart=always

     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру