Вот обновленное сравнение юзерспейсных киллеров:earlyoom: простой, лёгкий, стабильный. VmRSS меньше мегабайта, нагрузка на процессор околонулевая. С релиза 1.3 стал очень надежен (исправлено возможное убийство невиновных). Лучший выбор для домохозяек, которым не нужны лишние настройки, а нужна хорошая работа из коробки. Поддержка PSI обсуждается (https://github.com/rfjakob/earlyoom/issues/100 - автор давно собирался добавить поддержку PSI, но в последнее время засомневался в целесообразности этого. Проводятся работы по убеждению сенсея в необходимости добавления поддержки PSI). Оф Репа: https://github.com/rfjakob/earlyoom / Присутствует в репах Ubuntu 18.04+ и Debian 10+. Начиная с версии 1.3 могу смело рекомендовать его в качестве дефолтного киллера для десктопа. Буду лоббировать его в качестве дефолтного киллера для Федоры (zram они уже собрались включать по дефолту, для полного счястья не хватает earlyoom, обсуждение тут: https://pagure.io/fedora-workstation/issue/98 ).
nohang: явная и очень гибкая конфигурация. Десятки параметров настройки в конфиге. Подробная печать свойств завершаемого процесса. Печать таблицы процессов со свойствами всех процессов перед корректирующим действием. Возможность реакции на PSI (pressure stall information, https://lwn.net/Articles/759658/) с выбором произвольной метрики и сигруппы для мониторинга. Возможность кастомизации корректирующих действий: отправка жертве любого сигнала (помимо SIGTERM/SIGKILL) или выполнение произвольной команды. Возможность тонкого влияния на badness процесса путем сопоставления его name, cmdline, cgroup, exe realpath c заданным регулярным выражением. Уведомления о низком уровне памяти (произвольной командой или через notify-send). Минусы: мало документации. Хочу релизнуться, но лень писать документацию. Можно рекомендовать тем, кому не хватает возможностей earlyoom (у последнего нет поддержки PSI и уведомлений о нехватке памяти).
oomd: работает только с сигруппами - минимальным объектом для корректирующего действия является сигруппа. Это означает, что при применении на десктопе oomd убъет всю сессию посредством SIGKILL. В связи с этим рекомендуется только для крупных высоконагруженных серверов. Плюс требования: работает только с systemd, cgroup2 должна быть единственной иерархией, иерархия cgroup_v1 должна быть отключена + требуется ядро с поддержкой PSI + своп должен быть включен (без свопа oomd бесполезен). Плюс oomd заметно грузит проц - нагрузка в 4.5% в порядке вещей (We see this internally too. Something like 4.5% of a core all the time. - https://github.com/facebookincubator/oomd/issues/79#issuecom...). Модульная архитектура во все поля, но издержки описаны выше.
low-memory-monitor: рано делать выводы. Идея просить процессы умерить аппетиты самостоятельно вызывает скепсис. В остальном этот киллер примитивен и не содержит других киллер-фич.
Итог таков: Если у тебя CentOS 6, или слабое железо, или не нужно ничего лишнего, или хочешь «быстро поставил и забыл» - ставь earlyoom. Nohang имеет дополнительные фичи, полезные как для десктопа, так и для сервера. oomd не трогай, если ты сам не из Фейсбука.