URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 117549
[ Назад ]

Исходное сообщение
"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."

Отправлено opennews , 05-Июн-19 06:55 
После семи месяцев разработки опубликован (https://github.com/rfjakob/earlyoom/releases/tag/v1.3) выпуск фонового процесса earlyoom 1.3 (https://github.com/rfjakob/earlyoom), который периодически проверяет объем доступной памяти (MemAvailable, SwapFree) и пытается на ранней стадии отреагировать на возникновения нехватки памяти.


Если объём доступной памяти меньше заданного значения, то earlyoom принудительно (через отправку SIGTERM или SIGKILL) завершит работу процесса, наиболее активно потребляющего память (имеющего самое большое значение /proc/*/oom_score), не доводя состояние системы до очистки системных буферов и мешающего работе своппинга (обработчик OOM (Out Of Memory) в ядре срабатывает когда состояние нехватки памяти уже достигло критичных значений и обычно к этому моменту система уже не реагирует на действия пользователя).


Earlyoom поддерживает отправку уведомлений о принудительно завершённых процессах на рабочий стол (с помощью notify-send), а также предоставляет возможность определения правил, в которых при помощи регулярных выражений можно задать имена процессов, завершение которых предпочтительно (опция "--prefer") или остановки которых стоит избегать (опция "--avoid").


Основные изменения в новом выпуске:

-  Реализовано ожидание завершения процесса после отправки ему сигнала. Это устраняет проблему, заключающуюся в том, что earlyoom иногда убивает более одного процесса, когда одного будет достаточно;
-  Добавлен вспомогательный скрипт (notify_all_users.py) для уведомления всех залогиненых пользователей о завершении процессов через notify-send;
-  Исправлено некорректное отображение некоторых имён процессов, содержащих символы UTF-8;
-  Принят кодекс поведения (Contributor Covenant Code of Conduct).


URL: https://github.com/rfjakob/earlyoom/releases/tag/v1.3
Новость: https://www.opennet.dev/opennews/art.shtml?num=50809


Содержание

Сообщения в этом обсуждении
"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 07:31 
Напоминаю, что использование юзерспейсного обработчика нехватки памяти - это хорошая практика.

Обзор основных демонов.

Earlyoom: simple, stable, tiny. VmRSS меньше мегабайта, нагрузка на процессор околонулевая. С релиза 1.3 стал очень надежен (исправлено возможное убийство невиновных). Лучший выбор для домохозяек, которым не нужны лишние настройки, а нужна хорошая работа из коробки. Рекомендовал бы его в качестве дефолтного обработчика нехватки памяти для колясок.

Nohang: явная и очень гибкая конфигурация. Десятки параметров настройки в конфиге. Подробная печать свойств завершаемого процесса. Печать таблицы процессов со свойствами всех процессов перед корректирующим действием. Возможность реакции на PSI (pressure stall information, https://lwn.net/Articles/759658/) с выбором произвольной метрики и сигруппы для мониторинга. Возможность кастомизации корректирующих действий: отправка жертве любого сигнала (помимо SIGTERM/SIGKILL) или выполнение произвольной команды. Возможность тонкого влияния на badness процесса путем сопоставления его name, cmdline, cgroup, exe realpath c заданным регулярным выражением. Уведомления о низком уровне памяти (произвольной командой или через notify-send). Минусы: мало документации; в данный момент не вполне стабилизирован: требует некоторой доработки и стабилизации.

oomd: многообещающий, но пока недоступен для домохозяек: https://github.com/facebookincubator/oomd/issues/61 (не смог заставить его работать; требует больших танцев). Заметно грузит проц.


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено evkogan , 05-Июн-19 11:18 
Интересное сравнение.
Не понял только про oomd он грузит проц и при этом не работает?

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 11:23 
Таки да. Он грузил проц, писал сообщение что вот сейчас кого-то убьет, но ничего не происходило.

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 06:55 
Лучше пользователям хрома не ставить это..

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Лапчатый девляпс бубунтёнак , 05-Июн-19 10:09 
Пользователь хромиума. Благдаря earlyoom гоняю кубунту 18.04 на 12.5-дюймовом безвентиляторном Xiaomi с 4ГБ ОЗУ. В арбочее время у меня запущены - хромиум, шлак, зум, несколько Konsole, Dolphin и может что-то ещё. Сейчас это основная рабочая машина, весит 1300г, хороша для путешествий. Хоть я и девляпс, но обхожусь без варганта, ибо пердукт нашей компании и в сотню гигабайт не влезает.

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 10:10 
Пердукт, да

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Лапчатый девляпс бубунтёнак , 05-Июн-19 10:20 
Таки да. Но пользуются им достаточно центровые и сильно примелькавшиеся шараги. Большую их часть ты даже знаешь.

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 11:52 
Для юзеров хрома я изобрёл новый chromed. Как только процессы хромого обнаруживаются в системе, хромд немедленно их уничтожает, что делает вашу память мягкой и шелковистой.
С опцией -d можно так же удалить и замаскировать пакет хромого во избежание рецидивов.

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 12:15 
>Как только процессы хромого обнаруживаются в системе, хромд немедленно их уничтожает

Nohang можно так сконфигурировать, чтоб перниодически искал процессы хрома и убивал только их.


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Ддд , 26-Авг-19 01:15 
В чем смысл?

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено AVX , 05-Июн-19 07:28 
Нет бы другие программы оптимизировать, так нет, сделаем ещё одну. Это как бабы: "что бы такого съесть, чтобы похудеть?".

Я думаю, эти наработки нужно было в ядре реализовать, в том же обработчике oom. А параметры или режимы работы прямо в параметрах загрузки указать. Типа, используем файл с настройками такой вот, или режим работы вот такой.


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 07:51 
>Нет бы другие программы оптимизировать

Эта программа ничем не хуже других и выполняет полезную работу.

>Я думаю, эти наработки нужно было в ядре реализовать

Предлагаешь - действуй. Эти разговоры что "надо бы" идут десятки лет, а воз и ныне там. У меня нет времени ждать, пока ядерные хакеры сподобятся реализовать нужный функционал в ядре. Я просто пишу демон, которые решает задачу в юзерспейсе с максимальной гибкостью.

>используем файл с настройками такой вот

https://github.com/hakavlad/nohang/blob/master/nohang.conf


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено iPony129412 , 05-Июн-19 13:45 
> Я думаю, эти наработки нужно было в ядре реализовать,

А кому оно надо? Линукс - это Android, сервера, IoT. Там не нужно это.


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Gannet , 06-Июн-19 02:03 
Ты бы шёл лучше с понями играться.

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Xasd5 , 06-Июн-19 08:02 
> Линукс - это Android, сервера, IoT. Там не нужно это.

а для тех у кого линукс на ноутбуках -- тоже это не нужно:

просто смысла нет ни какого -- пользоваться программами которые "почему-то" жрут памяти больше чем есть на ноутбуке.

вместо того чтобы устанавливать какой-то-нахрн-убивальщик -- проще удалить "бракованную" программу и установить вместо неё другую.


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Ordu , 05-Июн-19 15:22 
> Я думаю, эти наработки нужно было в ядре реализовать, в том же обработчике oom.

Эти наработки можно *будет* реализовать в ядре, если из этого выйдет что-то достойное и достаточно простое. Но исследовать вопрос, что можно сделать и как это делать, лучше в userspace. Если тебе кажется, что они уже сделали что-то достойное перенесения в ядро, то инструменты разработки под ядро открыты, флаг тебе в руки.


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 09:51 
Нет ведь просто оперативочки докупить. Надо какие-то оомкиллеры сидеть писать в поте лица. А так надел сандали, выбежал во двор, перешел дорогу, купил хлебушка и по пути с магазина домой прикупил на сдачу оперативочки.

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Андрей , 05-Июн-19 10:35 
Бывают ещё глюки, из-за которых прога очень резко съедает всё память, так что и дёрнутся не успеваешь, а потом сидишь долгими минутами и ждёшь, пока или самому удастся её прибить, или, наконец-то OOM догадается, что ОС уже какое-то время вообще не выполняет никаких полезных действий, а только так тихо сама с собою что-то делает.

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 06-Июн-19 07:21 
Я не жду. Если есть признаки, что всё повисло намертво, то просто жмякаю резет.

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Андрей , 07-Июн-19 11:23 
В том то и дело, что тут не винда, а Линукс: по-настоящему намертво не повисает, а даже спустя 30-60 минут "подвисания намертво" всё вернётся как и было (не считая разорванных сетевых соединений по таймауту). Но столько ждать нерационально.

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 12:44 
Домой пришел, тырк - а слотов свободных и нет, на прошлой неделе после обновления Chrome уже все забил, и того мало!

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено трурль , 05-Июн-19 22:24 
...не умеют минусаторы в сарказм, не умеют.

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено qre4eretty23636 , 08-Июн-19 21:39 
Много не купишь на зарплату 10-15 тысяч. рублей и на пенсию 8-14 тысячь. рублей. Отдают за комунальные услуги и на еду очень мало остаётся. Остальное идёт лесом. Массовое явление.

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено ххх , 05-Июн-19 10:40 
2010: первый в истории юзерспейсный киллер на перле
https://stackoverflow.com/questions/2125812/what-is-the-best...

2014: появился earlyoom
2014: https://github.com/temoto/peacemaker, написан на golang: Kill processes that abuse system resources. Не получил развития, туп, прожорлив.


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено freehck , 06-Июн-19 11:13 
> 2010: первый в истории юзерспейсный киллер на перле

Не, не первый. Подобные вещи писали все, кому не лень. Писали на всём, на чём писалось. В основном на shell. И писали ещё в 90х-00х, инфа сотка.


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено rshadow , 06-Июн-19 12:02 
> 2010: первый в истории юзерспейсный киллер на перле

Апач кстати доработали. Там есть параметры на лимиты, после которой грохает обработчик.

А для гуев и остального теперь есть cgroups =)


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Секта свидетелей Киллеговы , 05-Июн-19 10:54 
Любую проблему можно решить, если прибивать нужные процессы в нужное время в нужном порядке. Если вы не можете решить вашу проблему, убивая процессы, значит вы ещё не достигли должного уровня просветления и либо прибиваете не те процессы, либо прибиваете их в неправильное время, либо в неправильном порядке. Служителям секты свидетелей Киллеговы категорически запрещается пытаться осмыслить проблему с целью найти решение, которое не требует прибивания процессов. В случае обнаружения у служителя секты таких наклонностей он будет немедленно предан анафеме.

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 11:23 
Хотелось бы ОТ ВСЕЙ ДУШИ поблагодарить разработчиков(-ка) и спросить его Яндекс.Кошелёк.

rfjakob, я твой должник. Ты даже не представляешь от какого головняка ты меня спасаешь своей программулиной.


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено анонимус , 05-Июн-19 13:00 
использую gocryptfs от того же разработчика - дальнейшее развитие encfs, которая не развивается

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 11:32 
https://github.com/rfjakob/earlyoom/issues/133
Ваша заявка принята.

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено mmm , 05-Июн-19 12:52 
For Debian 10+ and Ubuntu 18.04+, there's a Debian package.
Для  Debian9 нет пакета?

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено херргот , 05-Июн-19 12:56 
Нет. Ставьте через make (даже ести б был - был бы позапрошлой версии, это ж дебиан).

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 20:07 
тогда уж лучше checkinstall - так хоть удалить можно будет.

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено mmm , 05-Июн-19 13:13 
Спасибо большое  разработчикам!
В репах версия earlyoom 1.2-1. Когда ждать обновление?
Файл с настройками earlyoom https://github.com/hakavlad/nohang/blob/master/nohang.conf здесь?

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 13:17 
Файл с настройками earlyoom: /etc/defaults/earlyoom

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 13:19 
>Когда ждать обновление?

Скорее всего никогда. Ставьте последнюю весию с гитхаба.


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 13:45 
Fix:
Файл с настройками earlyoom:
/etc/defaults/earlyoom
cat: /etc/defaults/earlyoom: Нет такого файла или каталога
user@PC:~$ cat /etc/default/earlyoom
# Default settings for earlyoom. This file is sourced by /bin/sh from
# /etc/init.d/earlyoom or by systemd from earlyoom.service.

# Options to pass to earlyoom
EARLYOOM_ARGS="-r 60"

# Examples:
...


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено nm0i , 05-Июн-19 14:55 
Однажды он у меня убил preload, было смешно.
А вообще огромное спасибо разработчикам, утилита работает отменно.

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 16:06 
Самый лучший oom:

/use/bin/say ‘Alexa! Order more RAM!’


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Лапчатый девляпс бубунтёнак , 05-Июн-19 18:37 
$ /use/bin/say
bash: /use/bin/say: No such file or directory

Вот потому и использую earlyoom


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 17:14 
картинка в тему https://imgur.com/a/pu1H1TL

"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 20:30 
Всё лишь бы не редизайнить подсистему виртуальной памяти. Ведь это ЯДРО, там могут и средним пальцем показать в направлении параши.

Ещё раз: запустил Qt Creator - всё встало намертво. Запустил firefox - тоже. Потому что криво всё реализовано и переделывать никто не будет - дешевле памятью залить до объёма, достаточного для запуски Win 10 в виртуалке вместе со всем жрущим софтом и запускать всё потенциально жрущее только там.


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 06-Июн-19 19:28 
> запустил Qt Creator - всё встало намертво. Запустил firefox - тоже

Если у вас памяти недостаточно что бы все библиотеки в ней держать, то при чём тут дизайн виртуальной памяти?


"Выпуск earlyoom 1.3, процесса для раннего реагирования на не..."
Отправлено Аноним , 05-Июн-19 21:59 
А в наше время усе летало на 128 мегабайтах памяти, и кеды и гномы и веб...