В началото на годината говорим тук в блога за помощната програма 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 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
Подробности за заглавието: «загуба на памет»
Благодаря за наблюдението. Наздраве! 🙂
Мисля, че има подробност с инсталацията в Manjaro (получена от Arch). Не намерих пакета в нормалните хранилища.
Така че инсталирането трябва да става чрез yaourt.
yaourt earlyoom
¡Saludos!
В Arch той е в хранилището на общността, което трябва да бъде активирано в pacman.conf. По същия начин, както споменавате, той е и в AUR.
Благодаря за наблюдението 😀
Здравейте, искам тази услуга да стартира в MXLinux всеки път, когато включа компютъра, без да се налага да поставям командата в терминала, как мога да го направя?