Перелічіть нову версію ранньої версії 1.4, утиліти, щоб уникнути збоїв через брак пам'яті

ранній номер

На початку року ми говоримо тут у блозі про утиліту Earlyoom, який після обговорення розробниками Fedora був прийнятий для використання цієї утиліти у Fedora 32 як фоновий процес, за допомогою якого вони мають намір покращити реакцію системи на відсутність пам'яті і тим самим уникнути збоїв.

Зараз через кілька тижнів і Після восьми місяців розробки було анонсовано випуск нової версії Earlyoom 1.4.

Тим, хто не знайомий з проектом, вони повинні це знати це фонова нитка, яка періодично перевіряє обсяг доступної пам'яті (MemAvailable, SwapFree) і намагається реагувати на стан, що не має пам'яті, на ранній стадії. Код проекту написаний на C та поширюється за ліцензією MIT.

Пов'язана стаття:
Заздалегідь введіть потік у Fedora 32, щоб уникнути збою пам'яті

Якщо обсяг доступної пам'яті менше ніж вказане значення, earlyoom закінчиться силою (надіславши SIGTERM або SIGKILL) процес процесу, який споживає найбільше пам'яті (що має найвище значення / proc / * / oom_score), без очищення системних буферів стану системи та втручання у роботу підкачки (драйвер OOM (нестача пам’яті) у пожежі ядра у низькому стані пам'ять вже досягла критичних значень, і загалом на даний момент система вже не реагує на дії користувача).

Earlyoom підтримує надсилання сповіщень про примусовий процес на робочий стіл (шляхом надсилання сповіщень), а також надає можливість визначати правила, в яких регулярні вирази можуть використовуватися для вказівки імен процесів, завершення яких є кращим (опція "–prefer") або зупинок, яких слід уникати (- уникати варіанту).

Що нового в Earlyoom 1.4?

У цій новій версії виділено деякі зміни, з яких Згадується, що я працюю над очищенням коду і це також через затримку завантаження атрибутів процесу, логіка вибору процесів для завершення пришвидшується на 50%.

Крім того ще було здійснено скидання привілеїв root у файлі диска "systemd ranoom.service". Ця зміна порушує можливість отримання сповіщень за допомогою графічного інтерфейсу.

Для повторного ввімкнення сповіщень з графічним інтерфейсом пропонується повернути права root, прокоментувавши рядок «DynamicUser = істина".

Хоча вимкнення root також унеможливлює отримання інформації про споживання пам'яті при монтажі / proc Режим hidepid = 1 або hidepid = 2.

З інших змін що виділяються:

  • UID готового процесу відображається в реєстрі, крім PID та назви процесу.
  • Додано світло-сіре підсвічування журналу налагодження.
  • Якщо можливо, використовувалось оголошення змінних, локальних до блоків.
  • Конфігурацію додано PATH_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.   linuxmanr4 - сказав він

    Думаю, є деталь із установкою в Manjaro (похідна від Arch). Я не знайшов пакет у звичайних сховищах.

    Отож установка повинна відбуватися через вашу роботу.

    yaourt earlyoom

    Привіт!

    1.    Девід Наранджо - сказав він

      В Arch, це всередині сховища спільноти, яке має бути ввімкнено в pacman.conf. Так само, як ви згадуєте, це також в AUR.

      Дякую за спостереження 😀

  3.   Френ Павон - сказав він

    Привіт, я хочу, щоб ця служба запускалася в MXLinux кожного разу, коли я запускаю комп’ютер без необхідності вводити команду в термінал, як я можу це зробити?

bool(true)