В начале года мы говорим здесь, в блоге, об утилите Earlyoom, который после обсуждения разработчиками Fedora был принят для использования этой утилиты в Fedora 32 в качестве фонового процесса, с помощью которого они намереваются улучшить реакцию системы на нехватку памяти и тем самым избежать сбоев.
Теперь несколько недель спустя и После восьми месяцев разработки было объявлено о выпуске новой версии Earlyoom 1.4..
Тем, кто не знаком с проектом, следует знать, что это фоновый поток, который периодически проверяет объем доступной памяти (MemAvailable, SwapFree) и пытается реагировать на состояние нехватки памяти на ранней стадии. Код проекта написан на языке C и распространяется по лицензии MIT.
Если объем доступной памяти меньше чем указанное значение, ранняя комната закончится силой (отправив SIGTERM или SIGKILL) процесс процесса, который потребляет больше всего памяти (который имеет наивысшее значение / proc / * / oom_score), без очистки системных буферов состояния системы и вмешательства в работу подкачки (драйвер OOM (вне памяти) в ядре срабатывает при низком состоянии память уже достигла критических значений, и обычно в этот момент система больше не реагирует на действия пользователя).
Earlyoom поддерживает отправку принудительных уведомлений о процессах на рабочий стол (путем отправки уведомлений), а также предоставляет возможность определять правила, в которых можно использовать регулярные выражения для указания имен процессов, завершение которых является предпочтительным (параметр «–prefer») или остановок, которых следует избегать (–Авторизованный вариант).
Что нового в Earlyoom 1.4?
В этой новой версии выделены некоторые изменения, из которых Упоминается, что я работаю над очисткой кода и это также из-за отложенной загрузки атрибутов процесса, логика выбора процессов для завершения ускорена на 50%.
Кроме того, также реализован сброс привилегий root в файле на диске "systemd Earlyoom.service». Это изменение лишает возможности получать уведомления графического интерфейса.
Для повторного включения уведомлений GUI предлагается вернуть root-права, раскомментировав строку «DynamicUser = true».
Хотя отключение рута также делает невозможным получение информации о потреблении памяти при монтировании / Proc Режим hidepid = 1 или hidepid = 2.
Из других изменений которые выделяются:
- UID завершенного процесса отражается в реестре в дополнение к PID и имени процесса.
- Добавлена светло-серая подсветка журнала отладки.
- По возможности использовалось объявление переменных, локальных для блоков.
- Конфигурация добавлена ПУТЬ_LEN , чтобы переопределить значение размера встроенного буфера в коде.
- Возможность запуска cppcheck если доступно.
- Добавлен тест производительности "make bench".
- Расширенный набор тестов (make test).
В конце концов если вы хотите узнать об этом больше Об этом выпуске вы можете узнать подробности в по следующей ссылке.
Как установить Earlyoom на Linux?
Те, кто заинтересован в возможности попробовать эту утилиту, могут сделать это, следуя инструкциям, которые мы делимся ниже.
Earlyoom находится в репозиториях некоторых дистрибутивов. популярного Linux, так что в случае Debian, Ubuntu и любых производных из них установка может быть выполнена с помощью следующей команды:
sudo apt install earlyoom
Как только это будет сделано, сервис должен быть включен с помощью команды:
sudo systemctl enable earlyoom
И начинается с:
sudo systemctl start earlyoom
В случае Fedora и RHEL 8 с EPEL, его можно установить с помощью следующей команды:
sudo dnf install earlyoom
И услуга активируется с помощью:
sudo systemctl enable --now earlyoom
Наконец, в случае Arch Linux или любой другой производной от этого, установка выполняется с помощью следующей команды:
sudo pacman -S earlyoom
И услуга активируется с помощью:
sudo systemctl enable --now earlyoom
Для всех остальных дистрибутивов Linux они могут выполнить установку, скомпилировав служебный код.
Чтобы получить код, мы можем сделать это с помощью следующей команды:
git clone https://github.com/rfjakob/earlyoom.git
cd earlyoom
Приступаем к компиляции с:
make
И устанавливаем (если у вас Systemd):
sudo make install
Или для тех, у кого нет Systemd:
sudo make install-initscript
И чтобы воспользоваться услугой, с которой вы это делаете:
./earlyoom
Фрагмент названия: «потеря памяти».
Спасибо за наблюдение. Ура! 🙂
Думаю, есть деталь с установкой в Manjaro (производная от Arch). В обычных репозиториях пакет не нашел.
Так что установка должна производиться через yaourt.
yaourt earlyoom
Привет!
В Arch он находится внутри репозитория сообщества, который необходимо включить в pacman.conf. Точно так же, как вы упомянули, это также и в AUR.
Спасибо за наблюдение 😀
Здравствуйте, я хочу, чтобы эта служба запускалась в MXLinux каждый раз, когда я включаю компьютер, без необходимости вводить команду в терминале, как я могу это сделать?