Избройте новата версия на 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 ranoom.service". Тази промяна нарушава възможността за получаване на GUI известия.

За да активирате отново GUI известията, се предлага да се върнат root права, като коментирате реда «DynamicUser = вярно".

Въпреки че деактивирането на root също прави невъзможно получаването на информация за консумацията на памет при монтиране / проц в режим hidepid = 1 или hidepid = 2.

От останалите промени които се открояват:

  • UID на прекратения процес се отразява в системния регистър, в допълнение към PID и името на процеса.
  • Добавено е светлосиво подчертаване на регистрационния файл за отстраняване на грешки.
  • Ако е възможно, се използва декларирането на променливи, локални за блоковете.
  • Конфигурацията е добавена PATH_LEN за да замени стойността на размера на вградения буфер в кода.
  • Възможност за стартиране cppcheck ако е налична.
  • Добавен е тест за ефективност "make bench".
  • Разширен тестов пакет (направи тест).

Накрая ако искате да научите повече за това За тази версия можете да проверите подробностите в следваща връзка. 

Как да инсталирам 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


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

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

  1.   Инфогон каза той

    Подробности за заглавието: «загуба на памет»

    1.    Дейвид Наранджо каза той

      Благодаря за наблюдението. Наздраве! 🙂

  2.   linuxmanr4 каза той

    Мисля, че има подробност с инсталацията в Manjaro (получена от Arch). Не намерих пакета в нормалните хранилища.

    Така че инсталирането трябва да става чрез yaourt.

    yaourt earlyoom

    ¡Saludos!

    1.    Дейвид Наранджо каза той

      В Arch той е в хранилището на общността, което трябва да бъде активирано в pacman.conf. По същия начин, както споменавате, той е и в AUR.

      Благодаря за наблюдението 😀

  3.   Фран Павон каза той

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