LINUX.ORG.RU

Выпуск earlyoom 1.1

 , ,


2

2

Спустя пять месяцев после предыдущего релиза вышел earlyoom 1.1. Earlyoom - демон, периодически (10 раз в секунду) проверяющий объем доступной памяти (MemAvailable, SwapFree) и, если доступной памяти окажется меньше заданного объема, то процессу с максимальным oom_score будет отправлен сигнал SIGKILL для предотвращения Out of memory. Earlyoom поддерживает отправку десктопных уведомлений об убитых процессах (с помощью notify-send), а также возможность задать с помощью regex имена процессов, убийство которых предпочтительно (опция --prefer) или убийства которых стоит избегать (опция --avoid).

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

  • Исправлена возможная инъекция shell-кода через всплывающие уведомления.
  • Время сна после неудачи убийства процесса снижено с 10 до 1 секунды.
  • Всплывающие уведомления теперь отправляются после убийства процесса, а не перед.
  • Поддержка --help в дополнение к -h.
  • Исправлена проблема неверного отображения имен процессов во всплывающих уведомлениях.
  • Исправлено возможное деление на ноль при использовании опции -S.

>>> Подробности

★★

Проверено: jollheef ()

Ответ на: комментарий от ozz_is_here

браузер закрывается.

В FF просто вкладка крашнется, думаю, что в хромоге тоже. В любом случае — это лучше, чем система, вставшая колом.

Singularity ★★★★★ ()

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

anonymous ()
Ответ на: комментарий от ozz_is_here

Да не, в венде как раз вкладки падают и другие приложения. Это в линуксе принято всю систему колом ставить.

anonymous ()

чем это лучше cgroups-wide oom?

anonymous ()
Ответ на: комментарий от anonymous

Чтоб меньше мейнтейнить, сто пудов.

anonymous ()

Начал развитие аналогичный проект - nohang

Особенности: возможность корректного завершения процессов с помощью SIGTERM; возможность десктопных уведомлений о низком уровне памяти; настраиваемая интенсивность мониторинга; поддержка zram (mem_used_total в качестве триггера). https://github.com/hakavlad/nohang

hakavlad ★★ ()
Ответ на: комментарий от einhander

Откройте для себя дивный мир magic SysRq keys.

Я их помнил в 2000-м, но когда используешь раз в 10 лет, то помнится только Ctrl-Alt-Bkspace :)

GladAlex ★★★★★ ()

Выглядит как какое-то ненужно.

Напоминает тюнинг Android, когда в итоге памяти свободной много, но использовать её из-за агрессивного убивания процессов не получается.

Radjah ★★★★★ ()

Исправлена возможная инъекция shell-кода через всплывающие уведомления.
Исправлена проблема неверного отображения имен процессов во всплывающих уведомлениях.
Исправлено возможное деление на ноль при использовании опции -S.

Похоже что пишется криворуким уродом. Ни за что бы не стал такую поделку использовать.

slovazap ★★★★★ ()
Ответ на: комментарий от anonymous

А если в нем возникнет утечка памяти - он грохнет сам себя?

По умолчанию - да. Можно запретить самоубийство опцией -p.

hakavlad ★★ ()
Ответ на: комментарий от Radjah

Выглядит как какое-то ненужно.

Ага, а зависания при исчерпании памяти и неприход OOM киллера выглядят очень нужно. Не нравится - просто не используй. И да, эта штука настраивается, порог срабатывания можешь выбрать хоть 1%, хоть 10%.

Кстати, отзывы довольных юзеров:

«А можете рассказать, как сделать OOM Killer более агрессивным? Например, в ситуации, когда приложение открыло/создало множество мелких файлов и держит их в памяти, при внезапной нехватке памяти ядро пытается высвободить эти файловые страницы, что вешает систему намертво со 100%-м дисковым I/O на несколько (десятков) минут. А ведь зачастую гораздо проще просто грохнуть само приложение с дальнешим его перезапуском.» https://habr.com/company/flant/blog/348324/#comment_10659202

«Это хорошо, если приходит OOM-killer. Плохо, когда есть огромный iowait, а киллера так никто и не видел, спит. Надежда на то, что без свопа протекающий фаерфокс будет пристрелен, очень быстро растворились в хрусте винта.» https://habr.com/company/flant/blog/348324/#comment_10660004

«А можете рассказать, как сделать OOM Killer более агрессивным? Например, в ситуации, когда приложение открыло/создало множество мелких файлов и держит их в памяти, при внезапной нехватке памяти ядро пытается высвободить эти файловые страницы, что вешает систему намертво со 100%-м дисковым I/O на несколько (десятков) минут. А ведь зачастую гораздо проще просто грохнуть само приложение с дальнешим его перезапуском.» https://habr.com/company/flant/blog/348324/#comment_10659202

«Говно какое-то этот оом-киллер, нихрена не работает. Но чтобы это нормально работало, я думаю, нужен какой-то демон, который постоянно мониторит потребление памяти и прибивает тот процесс, который резко начинает набирать обороты. В общем сам этот демон будет проц грузить, хотя можно ограничить процессы, которые он будет проверять только пользовательскими процессами, добавить black-white list ну и настраиваемый интервал проверки. Короче если кто-то напишет будет круто.» Время убивать (комментарий)

«Сегодня скормил пикарду 100-дисковое издание Бетховена и тот сожрал 16 гб памяти вместе с 8 гб zram (коэффициент сжатия был 3.5). Со swappiness 100 zram начал наполняться на 80% памяти, а когда сам достиг 80%, то сжатие продолжилось с новой силой и полной загрузкой ядра. По окончанию банкета система встала колом, потому что киллер опять сцуко не пришел (ждал 10 минут).» Время убивать (комментарий)

«Система таки становится неюзабельной если продолжать стараться забивать ее вплоть до исчерпания RAM+ZRAM. Ничего неудивительного, памяти то нет. Но в случае с дисковым свопом ты начинаешь заранее замечать что дело плохо. По ощущениям ZRAM не тормозит вообще, потому ты ничего не подозреваешь до часа икс и система становится колом.» История успеха (комментарий)

«И IRL ты никогда не знаешь, в какой момент момент твои данные перестанут умещаться в оперативку. Потому zram — удел embedded систем, где это может быть детерминировано.» https://2ch.hk/s/res/2310304.html#2311483, https://archive.li/idixk

«OOM killer, зараза такая, не срабатывает или срабатывает через 3 часа.» Убийца форкбомб, бесконечных рекурсий и прочих пожирателей ресурсов.

hakavlad ★★ ()
Ответ на: комментарий от devl547

Ты б ещё на node.js такое писал.

Всего-то навсего жрет памяти на 10 МБ больше. Зато и больше фич. У вас сталь больше выбора: легкий earlyoom или фичастый nohang.

hakavlad ★★ ()
Ответ на: комментарий от post-factum

Костылище.

Костыли - это прекрасно, так как позволяют инвалидам ходить. Костыли дают инвалидам выбор: ходить с костылями, либо не ходить вовсе.

hakavlad ★★ ()
Ответ на: Костылище. от hakavlad

Re: Костылище.

Правильно ли я понимаю, что gnu/linux, это система для инвалидов, которые всё же хотят пользоваться компьютером?

anonymous ()
Ответ на: комментарий от entefeed

После двадцатого один помрет. Должен помереть. Напомни друзьям, пожалуйста.

anonymous ()
Ответ на: Утменя не работает :( от hakavlad

Re: Утменя не работает :(

Комбинация эта, как раз плазма в очередной раз систему раком поставила и никакие волшебные комбинации, в том числе и переведённая, меня не спасали. Грустно. :(

К слову, про плазму, эпик: 1. Создаём 2 пользователя; 2. Заходим под 1 пользователем; 3. Завершаем сеанс; 4. Снова заходим под 1 пользователем; 5. DM упал, лол.

Просто пздц, не могут обнаружить косяк месяц, а я все жду :(

anonymous ()
Ответ на: Re: Костылище. от anonymous

Все операционные системы сделаны инвалидами для инвалидов, неспособных написать свою собственную, анон скатился до трюизмов

mazdai ★★ ()

убитых
убийство
убийства
убийства
убийства

Как насчет завершения процесса, кровожадные вы наши?

Deleted ()
Ответ на: комментарий от GladAlex

Ctrl-Alt-Bkspace

Это же не магические кнопки)))

На изусть помню только reisub, как наиболее мягкий способ перезагрузки вставшей колом десктоп системы. Пользуяюсь не чаще раз в год-два, в основном, на старом оборудовании из-за проблем с железом.

einhander ★★★★★ ()
Ответ на: комментарий от Singularity

думаю, что в хромоге тоже

в хроме очень часто бывает так, что больше всего памяти занимает родительский процесс, убийство которого закрывает весь браузер

eternal_sorrow ★★★★★ ()
Ответ на: комментарий от anonymous

Почему этого нет в ведре искаропки?

Потому что линукс не затачивают под десктопы. А для серверов и прочего оно не нужно.

fornlr ★★★★★ ()
Ответ на: комментарий от slovazap

Похоже что пишется криворуким. Ни за что бы не стал такую поделку использовать.

Глянул в код. Да, ты прав.

fornlr ★★★★★ ()
Ответ на: комментарий от eternal_sorrow

От oom в свопе она так раком вне встанет, это нужен баг в драйвере (например видеокарты) так что он прав. Только magic key f убьёт совсем не то что следовало и доводить не стоит.

Вот насчёт OOM в винде тоже можно поспорить. Если софт типа хромиума, то он сам упадёт аккуратно и никому не навредит, как и в линуксе. А если что-нибудь неприятное, то спасёт только хардресет ибо magic keys не завезли и принудительный рестарт видеодрайвера помогает довольно не всегда.

anonymous ()

Самое страшное, это когда быдлокодер и велосипедист в одном флаконе... И это тот случай.

anonymous ()

периодически (10 раз в секунду) проверяющий объем доступной памяти

Да сколько можно-то! Когда уже будет 15 раз в секунду?!

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.