Перечислите новую версию Earlyoom 1.4, утилиты, позволяющей избежать сбоев из-за нехватки памяти

ранняя комната

В начале года мы говорим здесь, в блоге, об утилите Earlyoom, который после обсуждения разработчиками Fedora был принят для использования этой утилиты в Fedora 32 в качестве фонового процесса, с помощью которого они намереваются улучшить реакцию системы на нехватку памяти и тем самым избежать сбоев.

Теперь несколько недель спустя и После восьми месяцев разработки было объявлено о выпуске новой версии Earlyoom 1.4..

Тем, кто не знаком с проектом, следует знать, что это фоновый поток, который периодически проверяет объем доступной памяти (MemAvailable, SwapFree) и пытается реагировать на состояние нехватки памяти на ранней стадии. Код проекта написан на языке C и распространяется по лицензии MIT.

Ранняя комната
Теме статьи:
Раннее добавление потока в Fedora 32, чтобы избежать сбоев памяти

Если объем доступной памяти меньше чем указанное значение, ранняя комната закончится силой (отправив 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


5 комментариев, оставьте свой

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Инфогон сказал

    Фрагмент названия: «потеря памяти».

    1.    Дэвид наранхо сказал

      Спасибо за наблюдение. Ура! 🙂

  2.   линуксманр4 сказал

    Думаю, есть деталь с установкой в ​​Manjaro (производная от Arch). В обычных репозиториях пакет не нашел.

    Так что установка должна производиться через yaourt.

    yaourt earlyoom

    Привет!

    1.    Дэвид наранхо сказал

      В Arch он находится внутри репозитория сообщества, который необходимо включить в pacman.conf. Точно так же, как вы упомянули, это также и в AUR.

      Спасибо за наблюдение 😀

  3.   Фрэн Павон сказал

    Здравствуйте, я хочу, чтобы эта служба запускалась в MXLinux каждый раз, когда я включаю компьютер, без необходимости вводить команду в терминале, как я могу это сделать?