The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от opennews (?), 08-Июл-18, 19:31 
После пяти месяцев разработки опубликован (https://github.com/rfjakob/earlyoom/releases) выпуск фонового процесса earlyoom 1.1 (https://github.com/rfjakob/earlyoom/), который периодически (10 раз в секунду) проверяет объем доступной памяти (MemAvailable, SwapFree).

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


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


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


-  Устранена уязвимость (https://github.com/rfjakob/earlyoom/commit/ab79aa3895077676f...), которая позволяет подставить shell-код при выводе всплывающих уведомлений через манипуляции с именем процесса;

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

URL: https://github.com/rfjakob/earlyoom#changelog
Новость: https://www.opennet.ru/opennews/art.shtml?num=48927

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +21 +/
Сообщение от iPony (?), 08-Июл-18, 19:31 
Пахнет жуткими костылями
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +6 +/
Сообщение от A.Stahl (ok), 08-Июл-18, 19:42 
Да ладно -- наоборот, всё наконец-то стало логично и полезно. Не просто система что-то киляет, а пользователь указывает что можно давить, а что нет. Инструмент стал полезным, а не бомбой со случайно срабатывающим таймером.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

200. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Наше имя Легион (?), 16-Июл-18, 13:04 
> Не просто система что-то киляет

ох уж эти ламерюги ушастые! рэкомэндую для просветления:

Но, естественно, убивает он не всё подряд, а подчиняясь определённым правилам:
- Мы должны потерять минимум работы
- Мы должны освободить много памяти
- Мы не должны убивать невиновных в пожирании большого количества памяти
- Мы хотим убить как можно меньше процессов (в идеале - один)
_Результат работы должен быть предсказуемым
Далее идёт подсчёт очков виновности процессов и процессы (или потоки), набравшие больше всего баллов, жестоко убиваются.

Вот так идёт подсчёт очков:
- Считаем RSS процесса
- Добавляем RSS всех дочерних процессов
- Если процесс долго живёт, то значение уменьшается
- Если у процесса niceness больше 0, то значение увеличивается.
- Если есть флаги CAP_SYS_ADMIN или CAP_SYS_RAWIO, результат уменьшается
- Смотрится знаечение /proc/<pid>/oom_adj, которое может задавать пользователь, чтобы повышаться сопротивляемость OOM Killer'у. Вроде как это уже deprecated и нужно использовать oomscore_adj.

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

http://shtsh.blogspot.com/2012/04/oom-killer.html

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

2. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (2), 08-Июл-18, 19:42 
А мне кажется хорошая вещь. Поможет прибить хром который прожорлив.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

41. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аннннонииииимemail (?), 08-Июл-18, 21:35 
Хром прожорлив из-за кучи "шпионских" наворотов, которые мониторят твою деятельность, чтобы подставлять более эффективную рекламу (ибо гугл живёт по большей части на рекламе), но это другая история
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

43. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +8 +/
Сообщение от th3m3 (ok), 08-Июл-18, 21:37 
Это костыль, победить Хром, можно только его удалением ;)
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

100. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (100), 09-Июл-18, 04:56 
Хром вкладки фризит когда оперативки мало. Так, что в лучшем случае будет прибита открытая в данный момент вкладка.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

165. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  –1 +/
Сообщение от Аноним (165), 09-Июл-18, 17:51 
Вы делаете мне смешно. Квантум как за норму отъедает у меня 2.5 гига при обычном использовании и умирает на стримах, в то время как хром спокойно все переваривает.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

193. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Gump (?), 12-Июл-18, 11:43 
То есть, анон, ты пользуешься программой, которая тебя не удовлетворяет, чтобы испытать боль?
Ответить | Правка | ^ к родителю #165 | Наверх | Cообщить модератору

4. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +3 +/
Сообщение от Xasd (ok), 08-Июл-18, 19:43 
> Устранена уязвимость, которая позволяет подставить shell-код при выводе всплывающих уведомлений через манипуляции с именем процесса;

по ссылке способ, который лечит симптом а не болезнь -- говорит о том что программисты так и не вкурили в чём же проблема у них с shell оказалась

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

72. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (72), 08-Июл-18, 22:55 
Любой код на шелл это уже проблема.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

84. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от VINRARUS (ok), 08-Июл-18, 23:21 
Ну используй HTML5
Ответить | Правка | ^ к родителю #72 | Наверх | Cообщить модератору

5. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (5), 08-Июл-18, 19:44 
Есть, вообще-то, простая мониторилка http://godrb.com/ , где можно сказать что делать с процессом и при каких условиях. И да, прибивать по превышению уровня использования процессора или оперативки, оно тоже умеет

Сравнил бы кто....

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +3 +/
Сообщение от Аноним (17), 08-Июл-18, 20:59 
earlyoom заточен под одну задачу, написан на Си и справляется со своей задачей лучше
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  –4 +/
Сообщение от Адекват (ok), 08-Июл-18, 19:53 
Жесть конечно, линукс при нехватке памяти просто колом встает, даже в терминал не дает буквы вводить, в винде такого нет.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  –5 +/
Сообщение от VINRARUS (ok), 08-Июл-18, 20:06 
Жадное ядро которому ВСЕГДА мало оперативки...
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +6 +/
Сообщение от llolik (ok), 08-Июл-18, 20:07 
> в винде такого нет

Есть. Винда самым простым образом динамически увеличивает swap, когда оно ей нужно. Уткнувшись в предел (место кончилось, например) также встаёт колом.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

19. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +4 +/
Сообщение от Аноним (19), 08-Июл-18, 21:01 
но это, если и происходить - то гораааааааздо позже чем у линя!
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

189. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Вареник (?), 11-Июл-18, 04:04 
Волшебные свойства Винды позволяют брать запас памяти из ниоткуда, ага.
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

69. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +2 +/
Сообщение от Анончик999999 (?), 08-Июл-18, 22:37 
Да, но это очень редко происходит. А вот в Лине, как всегда, все через ср...у: бывает, что-то важное делаешь, а тут бац и все зависло намертво и откачка только через кнопочку reset. Да и если система начинает свопить, она всеравно гараздо хуже себя ведет, чем на Windows. Даже если начинает свопить, и до полного использования памяти очень далеко, всеравно часто зависает намертво.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

96. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от mikhailnov (ok), 09-Июл-18, 03:54 
Откачака через SysRq: alt+sysrq+f (force oom_killer)
Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

105. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от имя (?), 09-Июл-18, 05:55 
Это если пользователь не забыл kernel.sysrq вернуть в 1 или хотя бы в X | 0x40, а то в дистрибутивах нынче по-дефолту почему-то идут какие-то маски, которые не дают пользователю почти ничего полезного.
Ответить | Правка | ^ к родителю #96 | Наверх | Cообщить модератору

136. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (136), 09-Июл-18, 10:42 
> Это если пользователь не забыл kernel.sysrq вернуть в 1 или хотя бы
> в X | 0x40, а то в дистрибутивах нынче по-дефолту почему-то
> идут какие-то маски, которые не дают пользователю почти ничего полезного.

Вы хотели сказать "в дистрибутивах нынче по-дефолту почему-то
> идут какие-то ОБОИ, которые не дают пользователю почти ничего полезного."! ;)

Ответить | Правка | ^ к родителю #105 | Наверх | Cообщить модератору

144. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (144), 09-Июл-18, 11:51 
> Это если пользователь не забыл kernel.sysrq вернуть в 1 или хотя бы
> в X | 0x40, а то в дистрибутивах нынче по-дефолту почему-то
> идут какие-то маски, которые не дают пользователю почти ничего полезного.

Леннарт Великолепный говорил вам о ненужности и несовершенности этого старого, немодного инструмента! Будте внимательней, не поддавайтесь соблазну ереси и не заставляйте братьев действовать излишне жестко и радикально, спасая ваше вечное цифровое ядро!
https://lists.freedesktop.org/archives/systemd-devel/2015-Fe...
> When the user presses Ctrl-Alt-Del more than 7x within 2s an immediate reboot is triggered. This useful if shutdown is hung and is unable to complete, to expedite the operation.

Ответить | Правка | ^ к родителю #105 | Наверх | Cообщить модератору

148. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (136), 09-Июл-18, 12:35 
>> Это если пользователь не забыл kernel.sysrq вернуть в 1 или хотя бы
>> в X | 0x40, а то в дистрибутивах нынче по-дефолту почему-то
>> идут какие-то маски, которые не дают пользователю почти ничего полезного.
> Леннарт Великолепный говорил вам о ненужности и несовершенности этого старого, немодного
> инструмента! Будте внимательней, не поддавайтесь соблазну ереси и не заставляйте братьев
> действовать излишне жестко и радикально, спасая ваше вечное цифровое ядро!
> https://lists.freedesktop.org/archives/systemd-devel/2015-Fe...
>> When the user presses Ctrl-Alt-Del more than 7x within 2s an immediate reboot is triggered. This useful if shutdown is hung and is unable to complete, to expedite the operation.

Хотел было попробовать успеть нажать, тем более что файловые системы размонтирует, но вовремя вспомнил, что у меня нет systemd!

Ответить | Правка | ^ к родителю #144 | Наверх | Cообщить модератору

157. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от имя (?), 09-Июл-18, 14:51 
Только не то что размонтировать — он распознать нажатия-то эти наверняка не успеет, если система уже встала колом от дефицита памяти.
Ответить | Правка | ^ к родителю #148 | Наверх | Cообщить модератору

74. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +3 +/
Сообщение от Аноним (74), 08-Июл-18, 23:06 
Нет. Дело не в увеличении свопа. На лине своп увеличивает демон swapspace. А всё виснет именно из-за кривого ядра, которое слишком тупо свопит, а своп ВННЗАПНО слишком медленный. Этот долго висящий в баг-трекере баг всё никак пофиксить не могут, вернее не хотят - у разрабов машины с дофигища оперативы, их нищeбρoдопроблемы не волнуют.

Винда же умеет понимать, что свопить нельзя ни в коем случае, поэтому на ней проблема так не проявляется. Да при 100% занятой оперативы чуть-чуть подтормаживает, но чтобы винда встала так, как линь, где помогает только кнопка резет, даже клава не реагирует - так бывает крайне редко. У меня однажды своп выжрал на винде 5 оператив, когда я запустил Идею (с тех пор Идеей не пользуюсь), но система была живой. Когда я мигрировал на линукс, просто 10 вкладок в файрфоксе = смертельное зависание системы. На винде фф прекрасно держал 60 вкладок без какого-либо эфекта на систему.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

88. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (88), 09-Июл-18, 00:37 
просто 10 вкладок в файрфоксе = смертельное зависание системы.... УЖЖОСС
Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

94. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Анончик999999 (?), 09-Июл-18, 02:27 
Да, да, и такое бывает! Так что пилите нормальный swap.
Ответить | Правка | ^ к родителю #88 | Наверх | Cообщить модератору

126. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (126), 09-Июл-18, 08:33 
Может пора просто нормальные программы научиться пилить? Посмотрите в сторону id Tech, внезаптно у меня не 8 гигабайт памяти, 4 гигабайта улетает в своп, но система даже глазом не моргнёт и игра не подвисает. Совпадение? Не думаю.
Ответить | Правка | ^ к родителю #94 | Наверх | Cообщить модератору

125. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (126), 09-Июл-18, 08:32 
20 вкладок в фоксе 5 плагинов 800Мб потребления. ЧЯДНТ? Выкидывайте свой фокс и переходите на нормальный. И система намертво зависает только в тех случаях когда программа пытается использовать не только всю доступную память но и весь своп - коненчно она зависнет, в венде так же (что логично, место то кончилось).
Ответить | Правка | ^ к родителю #88 | Наверх | Cообщить модератору

108. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Alex (??), 09-Июл-18, 06:05 
а у меня под виндой новый фаерфокс грузит проц на 100 процентов без открытых вкладок - только начальный экран. При этом ни одного дополнения не стоит, все настройки сброшены в умолчание.
Пришлось откатится на старую версию и отключить обновления.
А под линуксом на хз-сколько-летнем хромбуке я не помню когда что-то зависало.
Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

114. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Anonymoustus (ok), 09-Июл-18, 06:31 
> а у меня под виндой новый фаерфокс грузит проц на 100 процентов
> без открытых вкладок - только начальный экран. При этом ни одного
> дополнения не стоит, все настройки сброшены в умолчание.
> Пришлось откатится на старую версию и отключить обновления.
> А под линуксом на хз-сколько-летнем хромбуке я не помню когда что-то зависало.

Так это проблема у винды или у фаерфокса?

Ответить | Правка | ^ к родителю #108 | Наверх | Cообщить модератору

119. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +3 +/
Сообщение от Alex (??), 09-Июл-18, 07:07 
я к тому, что не надо тормоза фаерфоксом мерять
Ответить | Правка | ^ к родителю #114 | Наверх | Cообщить модератору

151. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от W (?), 09-Июл-18, 13:14 
Аналогично, при запуске Firefox с десяток секунд 100% загрузка CPU и диска.
Проблема в синхронизации закладок, только установленный Firefox быстро стартует.

Ответить | Правка | ^ к родителю #108 | Наверх | Cообщить модератору

42. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +4 +/
Сообщение от Аноним (-), 08-Июл-18, 21:35 
Вы, видимо, виндой не пользовались толком. Доводилось сводить видео под семеркой на коре дуба с 2гб оперативки (дедлайн горел, единственное что было под рукой) - система висла намертво.

Лялихом пользуюсь 5 лет - в крайнем случае, фризились иксы (при этом всегда можно было переключиться в tty и прибить все что нужно)

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

172. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (172), 10-Июл-18, 03:41 
На системе с 2Гб оперативки линукс тоже еле ворочается, ФФ уже с парой вкладок начинает тормозить.
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

9. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  –5 +/
Сообщение от VINRARUS (ok), 08-Июл-18, 20:06 
kill 1 и нет проблем.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (11), 08-Июл-18, 20:08 
Оно умеет в drop_cache и sync ?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (13), 08-Июл-18, 20:25 
>Если объём доступной памяти меньше заданного значения, то earlyoom принудительно (через отправку SIGKILL) завершит работу процесса, наиболее активно потребляющего память

Ох неужели наконец-то кто-то это сделал, ПРАЗДНИК блин.

Постоянно виснет система из-за того что кончается свободная оперативка, а свап на ССД включать не хочу ибо дорогой ССД быстро убъётся постоянными перезаписями. Раз в неделю забываю посматривать на датчик свободной оперативки, и какое-нибудь особенно жручее приложение выжирает всю оперативку и система виснет наглухо, помогает только перезагрузка с кнопки.

На Жидхабе только Арч с Демьяном, так что ждём ебилдов и пакетов в Альте.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

24. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 08-Июл-18, 21:06 
>ждём ебилдов и пакетов в Альте

just make install

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

28. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Anonymoustus (ok), 08-Июл-18, 21:13 
Прямо розовая мечта администратора высоконагруженного сервера.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

58. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +2 +/
Сообщение от Michael Shigorinemail (ok), 08-Июл-18, 22:17 
zramswap или как его нынче -- не смотрели?  На ALTSP здорово выручал.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

107. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +3 +/
Сообщение от имя (?), 09-Июл-18, 06:05 
zram неплох, но не оптимален в сочетании с обычным свопом: если он имеет более высокий приоритет, то в zram в первую попадут наименее полезные страницы, которые останутся бестолково висеть в оперативке (пусть и в сжатом виде), а при приоритете ниже, чем у обычного свопа, эффект от него будет заметен только после того, как обычный своп будет полностью забит.

zswap я бы вообще назвал вредной вещью: суть его в том, что он перехватывает страницы, направленные в своп, жмёт и кладёт в… page cache; и всё бы ничего, но в случае memory pressure все эти страницы начинают резко распаковываться для записи на физический носитель, и вследствие write amplification система встаёт колом порой сильнее, чем если бы у неё просто закончилась память.

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

77. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +3 +/
Сообщение от Аноним (144), 08-Июл-18, 23:11 
>>Если объём доступной памяти меньше заданного значения, то earlyoom принудительно (через отправку SIGKILL) завершит работу процесса, наиболее активно потребляющего память
> Ох неужели наконец-то кто-то это сделал, ПРАЗДНИК блин.
> Постоянно виснет система из-за того что кончается свободная оперативка, а свап на
> ССД включать не хочу ибо дорогой ССД быстро убъётся постоянными перезаписями.

У нас, свободных бздунов, это делается так (для некоторых, особо одаренных знатоков и петросянов опеннета: естественно, только через пуссиэкзе и все такое, никак иначе! Ну, вы поняли…)


man protect
NAME
     protect – protect processes from being killed when swap space is
     exhausted

EXAMPLES
     Mark the Xorg server as protected:

           pgrep Xorg | xargs protect -p


% more /etc/sysctl.conf
vm.disable_swapspace_pageouts=1
vm.pageout_oom_seq=2
kern.sched.preempt_thresh=224
kern.sched.interact=10

# что значит
% sysctl -d vm.pageout_oom_seq vm.disable_swapspace_pageouts kern.sched.preempt_thresh kern.sched.interact
vm.pageout_oom_seq: back-to-back calls to oom detector to start OOM
vm.disable_swapspace_pageouts: Disallow swapout of dirty pages
kern.sched.preempt_thresh: Maximal (lowest) priority for preemption
kern.sched.interact: Interactivity score threshold

% config -x /boot/kernel/kernel|grep SWAP  
options    NO_SWAPPING


В итоге, даже при сильном "перегрузе" всех ядер гуй остается приятно отзывчивым, а если что-то начинает отжирать память "как не в себя", то фриз до прихода ООМ убивца можно даже не заметить (опция, ускоряющая каст ООМ killer:
vm.pageout_oom_seq=2, вместо =10)

Заценка:


/usr/bin/time -l  python -c '{x:str(x)*(x**x**x) for x in range(100000000)}'
time: command terminated abnormally
       15,35 real         1,66 user         3,86 sys
   5047412  maximum resident set size
         3  average shared memory size
        11  average unshared data size
       119  average unshared stack size
   1259462  page reclaims
        12  page faults
         0  swaps
         0  block input operations
         0  block output operations
         0  messages sent
         0  messages received
         0  signals received
        25  voluntary context switches
       700  involuntary context switches
zsh: killed     /usr/bin/time -l python -c '{x:str(x)*(x**x**x) for x in range(100000000)}'

Если что - лицензия позволяет утянуть^W позаимств^W вдохновиться, нам не жалко ;)

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

91. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Crazy Alex (ok), 09-Июл-18, 01:40 
Да и так всё есть - от vm.swappiness и прочих  vm.overcommit_memory до /proc/XXX/oom_adj
Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

121. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +2 +/
Сообщение от iPony (?), 09-Июл-18, 07:39 
> а свап на ССД включать не хочу ибо дорогой ССД быстро убъётся постоянными перезаписями

Жесть какая... Вроде 2018-ый год.
У меня чего-то на ноутбуке 2013 года с жалкими 4 ГБ ОЗУ совсем не убился из-за свопа.
Аккумулятор уже сильно стал сдавать, шлейф диска (может от падений) стал иногда отваливаться, край ноутбука люфтил. Экран слегка промялся от клавиш и подоблез.
А сам SSD по ресурсу записи ещё хоть куда. Но вот всё остальное не так.

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

150. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от IPony (?), 09-Июл-18, 12:58 
Забыл дописать: клавиши перестали нажиматься из-за объедков под ними, некоторых клавиш уже нет. Кулер забит волосами, на крышке отпечаток от кружки с кофе.
Ответить | Правка | ^ к родителю #121 | Наверх | Cообщить модератору

152. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от iPony (?), 09-Июл-18, 13:23 
Не. Не ем за компьютерами. Максимум пью какой-нибудь смузи через соломинку.
А кофе тоже не пью - вредно.
Ответить | Правка | ^ к родителю #150 | Наверх | Cообщить модератору

180. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (-), 10-Июл-18, 13:19 
говорят, кофе надо пить по шесть чашек в день, иначе умрёшь от болезней и вреда
Ответить | Правка | ^ к родителю #152 | Наверх | Cообщить модератору

14. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (14), 08-Июл-18, 20:41 
zramswap штука хорошая если у вас памяти впритык
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

21. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +2 +/
Сообщение от Аноним (19), 08-Июл-18, 21:03 
хрень - иногда хуже с этим поделием чем без него. проверено долгими истязаниями на пратике, когда оно начинает бадаться с vm...
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

25. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 08-Июл-18, 21:07 
>оно начинает бадаться с vm.

Что, простите? Нельзя ли чуть подробнее?

Кстати, ZRAM в качестве swap-раздела: мифы и плохие практики
- zram жрет процессор (на самом деле издержки ничтожны, а плюсы от сокращения дискового I/O огромны)
- степень сжатия обычно небольшая (при загрузке памяти браузерами степень обычно от 3 до 4, это очень неплохо)
- путать disksize и mem_used_total
- никогда не знаешь когда зависнет (на самом деле практически никогда не зависнет, если использовать nohang)
- исользовать низкий vm.swappiness (zram - это быстрый своп, не нужно его так бояться, как свопа на HDD)
- дроч на lz4 (lz4 не всегда дает большую производительность в сравнении с lzo, но практически всегда дает значительно меньшую степень сжатия)
- использование дефолтного vm.min_kbytes_free (повышение этого показателя в 2-3 раза уменьшает количество фризов при перекате в своп)
- выставлять небольшой размер disksize (например, убунтовский zram-config выставлеят disksize размером 1/2 MemTotal, что очень мало, можно спокойно делать disksize размером 2 MemTotal)
- выставлять какие-либо лимиты, используя mem_used_max (the maximum amount of memory zram have consumed to store the data) - размер хранимых данных итак ограничен с помощью disksize.

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

68. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  –1 +/
Сообщение от Аноняшка (?), 08-Июл-18, 22:34 
гений практичности, напиши плиз с какими параметрами  запускать modprobe (или как там сейчас модно?)
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

71. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (17), 08-Июл-18, 22:53 
С дефолтными: modprobe zram. Потому что теперь zram многопоточен из коробки, кучу устройств можно не делать.
Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

15. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  –2 +/
Сообщение от Аноним (15), 08-Июл-18, 20:47 
Мастхэв, без него (или аналога) линукс на десктопе неюзабелен (если вы пользуетесь (неконсольными) браузерами).
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 08-Июл-18, 20:50 
Начал развитие аналогичный проект - https://github.com/hakavlad/nohang

Some features

- convenient configuration with a well commented config file (there are 38 parameters in the config)
- SIGKILL and SIGTERM as signals that can be sent to the victim
- zram support (mem_used_total as a trigger)
- customizable intensity of monitoring
- desktop notifications: results of preventings OOM and low memory warnings
- black, white, prefer, avoid lists via regex
- possibility of restarting processes via command like systemctl restart something if the process is selected as a victim

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

153. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  –1 +/
Сообщение от Аноним (153), 09-Июл-18, 13:48 
Чтобы люди не тратили время зря, напишу тут: он на питоне.
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

22. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (19), 08-Июл-18, 21:04 
костыли!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

27. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 08-Июл-18, 21:10 
Напротив, долгожданное и изящное решение проблемы! OOM killer убивает OOM, earlyoom предотвращает OOM!
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

30. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (19), 08-Июл-18, 21:18 
ну быть может, быть может...
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

122. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (122), 09-Июл-18, 08:29 
Бобёр, выдыхай!
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

139. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  –1 +/
Сообщение от Anonimus (??), 09-Июл-18, 11:03 
понравился коммент про бобра) Месье говорит глупость - они делают ровно одно и тоже, но если православный oom killer киляет прожорливый процесс, когда какое-то приложение просит больше памяти, чем есть в системе (принцип хука), то данное поделие работает по таймеру и если какое либо приложение сьест всю память в промежутке между проверками, то беда. Заключение - не нужен.
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

156. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 09-Июл-18, 14:05 
Ключевое - слово если.
На практике всё отлично работает.
Ответить | Правка | ^ к родителю #139 | Наверх | Cообщить модератору

160. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Anonimus (??), 09-Июл-18, 15:55 
Раз в году и палка стреляет. А ключевое тут, то что концепт сабжа слегка хромает... А если брать практику, то систему нужно конфигурировать так что б памяти всегда хватало.
Ответить | Правка | ^ к родителю #156 | Наверх | Cообщить модератору

73. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +4 +/
Сообщение от Аноним (17), 08-Июл-18, 23:05 
Костыли - это хорошо, потому что позволяют инвалидам ходить. Без костылей пришлось бы лежать.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

31. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  –6 +/
Сообщение от Аноним (31), 08-Июл-18, 21:18 
Зачем earlyoom, если можно докупить оперативочки? Не, ну реально. 1 планка оперативки стоит как 3 раза поесть в норм кафешке. Поголодаете денек, зато сможете больше всякого поназапускать.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

33. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +2 +/
Сообщение от Аноним (17), 08-Июл-18, 21:22 
У меня в ноутбук больше 8ГБ не помещается, например.
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

35. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +3 +/
Сообщение от Аноним (31), 08-Июл-18, 21:26 
Рекомендую в таком случае держать пост 1 месяц. Это даже полезно.
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

87. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +5 +/
Сообщение от fske (?), 09-Июл-18, 00:09 
Рекомендую сменить профессию торгаша в компьютерном магазине. Это более полезно.
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

154. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (153), 09-Июл-18, 13:50 
Ноутбуки не предназначены для тяжелых приложений, например. Зачем ими пользуешься?
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

181. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (-), 10-Июл-18, 13:20 
а где мне браузер тогда запускать?
Ответить | Правка | ^ к родителю #154 | Наверх | Cообщить модератору

188. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (188), 10-Июл-18, 23:50 
ВНЕЗАПНО - на самом обыкновенном компьютере. Он еще апгрейду поддается, прикинь! Чудеса инженерии, да и только.
Ответить | Правка | ^ к родителю #181 | Наверх | Cообщить модератору

194. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (194), 13-Июл-18, 11:33 
На мой компьютер память уже не продают
Ответить | Правка | ^ к родителю #188 | Наверх | Cообщить модератору

70. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +3 +/
Сообщение от Анончик999999 (?), 08-Июл-18, 22:40 
вот такие всегда отмазки. А неужели нельзя сделать по-человечески?
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

80. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (144), 08-Июл-18, 23:16 
> Зачем earlyoom, если можно докупить оперативочки? Не, ну реально. 1 планка оперативки
> стоит как 3 раза поесть в норм кафешке. Поголодаете денек, зато
> сможете больше всякого поназапускать.

В смысле -- еще два (или даже три!) приложения на электроне?
Очень заманчиво, да.

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

83. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (74), 08-Июл-18, 23:20 
Мы не едим в "нормальной" кафешке. Мы одним здоровым нормальным питанием (картошка жареная + сосиски жареные / котлеты жареные + огурцы свежие + помидоры свежие + огурцы солёные + перец болгарский), и так - каждый день, мне - норм, это моя любимая еда) питаемся, на которое хватает наших мизерных зарплат.
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

155. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (153), 09-Июл-18, 13:52 
> Мы одним здоровым нормальным питанием
> жареная
> жареные
> жареные

Здоровым питанием, да. Видимо огурчики свежие и соленые в вашем понимании нивелируют вред всего остального жареного.

Ответить | Правка | ^ к родителю #83 | Наверх | Cообщить модератору

170. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от angra (ok), 10-Июл-18, 00:20 
> 1 планка оперативки стоит как 3 раза поесть в норм кафешке.

Наесться от пуза в китайском ресторане до $20. Перекусить в кафешке до $5. Плашка памяти на 8 гиг от $100.
Либо вы зажрались, либо несколько лет провели в криокамере и пропустили взлет цен на память.

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

174. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от iPony (?), 10-Июл-18, 05:17 
> Перекусить в кафешке до $5

Это какая-то совсем нищая. У меня обычно от $5 получается.

Ответить | Правка | ^ к родителю #170 | Наверх | Cообщить модератору

175. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (175), 10-Июл-18, 08:49 
>Наесться от пуза в китайском ресторане до $20.

Рассказал знакомой, любительнице китайщины - поржали вместе.

>Перекусить в кафешке до $5.

Это где такие кафешки? Или в твоем понимании "перекусить" - это чашка растворимого кофе и пара гамбургеров, в которые не пойми какого овна напихано?

>Плашка памяти на 8 гиг от $100.

Все, что не Corsair и HyperX, то не память, да?

Резюме - школиём и троллем за версту прет от тебя, бро.

Ответить | Правка | ^ к родителю #170 | Наверх | Cообщить модератору

183. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (144), 10-Июл-18, 13:56 
>>Наесться от пуза в китайском ресторане до $20.
> Рассказал знакомой, любительнице китайщины - поржали вместе.

Насчет китайщины не знаю, но азиатщина "от пуза" в той же монге, где готовят прямо при тебе и из тобой же отобранных продуктов, как раз в 20€ укладывается.
Но это конечно не вас нае*ывают, это на самом деле монга https://www.mongos.de/en/restaurant/koeln.php такой вот вариант макдака, ага ))

> Это где такие кафешки? Или в твоем понимании "перекусить" - это чашка растворимого кофе и пара гамбургеров, в которые не пойми какого овна напихано?

Это там, где (на самом деле) жизни нет. Правильно делаете, что не верите байкам!

Ответить | Правка | ^ к родителю #175 | Наверх | Cообщить модератору

184. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от angra (ok), 10-Июл-18, 14:15 
> Рассказал знакомой, любительнице китайщины - поржали вместе.
> Это где такие кафешки?

Ну вот моем родном городе мясное блюдо на ~300гр стоит в китайском ресторане $4-$6, пицца в кафешке $3, шаурма меньше $2, шашлык $3. Уверен, нешколиё найдет где поесть за в десять раз большую стоимость. Ведь ему главное не хорошо поесть, а попонтоваться тем, в какую дорогую кафешку/ресторан оно ходит.

> Все, что не Corsair и HyperX, то не память, да?

Ок, взял самую дешевую https://hard.rozetka.com.ua/silicon_power_sp008gbsfu213b02/p.../ получилось аж на целых 5$ дешевле $100. В местных магазинах будет как раз от $100.

Ответить | Правка | ^ к родителю #175 | Наверх | Cообщить модератору

32. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (32), 08-Июл-18, 21:20 
анонимы уже предлагали сбегать в ближайший магазин за оперативой?:)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

79. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +2 +/
Сообщение от VINRARUS (ok), 08-Июл-18, 23:14 
Постом выше как раз предлагает вместо еды купить оперативки...
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

52. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (52), 08-Июл-18, 21:52 
> поддерживает отправку уведомлений о принудительно завершённых процессах на рабочий стол

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

54. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 08-Июл-18, 22:01 
>все с этой поделкой понятно

Что понятно? Что плохого в ВОЗМОЖНОСТИ десктопных уведомлений?

>До кучи еще нужно было написать это на петоне

https://github.com/hakavlad/nohang
Nohang is a highly configurable daemon for Linux which is able to correctly prevent out of memory conditions.
Done!

Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

57. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (52), 08-Июл-18, 22:07 
> Что плохого в ВОЗМОЖНОСТИ десктопных уведомлений?

Понимаешь в чем фишка, какова НЕОБХОДИМОСТЬ возможности десктопных уведомлений?
Если это демон, то он должен писать в лог, молча. Если это не демон, то все становится значительно смешнее.

ТруЪ по ссылкам не ходят, извини.

Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

61. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  –1 +/
Сообщение от ппп (?), 08-Июл-18, 22:21 
Свобода лучше, чем несвобода. Возможность лучше, чем невозможность. Ну так-то в жизни вообще ни в чем нет необходимость. Какова необходимость ВОЗМОЖНОСТИ жизни?
Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

63. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (52), 08-Июл-18, 22:24 
А я не философ, бро))
Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

86. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (86), 08-Июл-18, 23:25 
Вечно всяким труъ все не нравится. Ро существу же от того, что тул может отправить сообщение не толтко в стдаут, а ещк в notify-send - никому хуже не становится. Тут вам не системд, который не только может все, но и заставляет это своё "все" использовать
Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

76. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (74), 08-Июл-18, 23:11 
systemd-hangd?
Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

81. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 08-Июл-18, 23:17 
No, no hangd!
https://en.wikipedia.org/wiki/Hang_(computing)
Ответить | Правка | ^ к родителю #76 | Наверх | Cообщить модератору

78. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (78), 08-Июл-18, 23:13 
нужная штука на самом деле, ибо с выключенными оверкомитами - иногда жаба не запускается
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

89. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +2 +/
Сообщение от Аноним (89), 09-Июл-18, 00:48 
Все что я хочу сказать тем у кого линукс зависает намертво из-за переполнения памяти. СМЕНИТЕ ДИСТРИБУТИВ НА ЧТО-ТО НЕ ТАКОЕ КАЛИЧНОЕ.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

104. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Anonymoustus (ok), 09-Июл-18, 05:23 
> Все что я хочу сказать тем у кого линукс зависает намертво из-за
> переполнения памяти. СМЕНИТЕ ДИСТРИБУТИВ НА ЧТО-ТО НЕ ТАКОЕ КАЛИЧНОЕ.

У тебя ведь 32 гига памяти, да? Или 64? Или 128? Ну какой же ты молодец — решил проблему!

Ответить | Правка | ^ к родителю #89 | Наверх | Cообщить модератору

141. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  –1 +/
Сообщение от Michael Shigorinemail (ok), 09-Июл-18, 11:29 
>> СМЕНИТЕ ДИСТРИБУТИВ НА ЧТО-ТО НЕ ТАКОЕ КАЛИЧНОЕ.
> У тебя ведь 32 гига памяти, да?

Ну 32, но дело не в этом.  Впрочем, Вы же сами по сути дали такой же совет в #102, не? :)

Ответить | Правка | ^ к родителю #104 | Наверх | Cообщить модератору

163. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (163), 09-Июл-18, 17:14 
8. но поддержу шигорина.
Ответить | Правка | ^ к родителю #141 | Наверх | Cообщить модератору

173. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (172), 10-Июл-18, 03:47 
На что сменить RHEL?
Ответить | Правка | ^ к родителю #89 | Наверх | Cообщить модератору

182. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (-), 10-Июл-18, 13:22 
на убунту вестимо
Ответить | Правка | ^ к родителю #173 | Наверх | Cообщить модератору

90. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +2 +/
Сообщение от Аноним (90), 09-Июл-18, 01:24 
Всё зависит от того, как настроить менеджер памяти. В линуксе по умолчанию менеджер настроен на оптимальную работу фоновых служб (сервера́), в винде же по умолчанию стоит настройка на работу пользовательских приложений.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

92. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (11), 09-Июл-18, 01:53 
Показывай кейс как настроить под декстоп апы, если такой умный.
Ответить | Правка | ^ к родителю #90 | Наверх | Cообщить модератору

93. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (93), 09-Июл-18, 01:59 
:)
да поставьте уж себе irqbalance наконецто!!!!1

# cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7      
  0:          9          0          0          0          0          0          0          0   IO-APIC   2-edge      timer
  1:          0          0          0          0          0          0     119259          0   IO-APIC   1-edge      i8042
  8:          0          0          0          0          0          0          0         44   IO-APIC   8-edge      rtc0
  9:     650806        401          0          0          0          0          0          0   IO-APIC   9-fasteoi   acpi
12:          0          0          0          0          0     181370          0          0   IO-APIC  12-edge      i8042
16:          0         31          0          0          0          0         10          0   IO-APIC  16-fasteoi   ehci_hcd:usb1
18:          1          0          0          0          0          0          0          0   IO-APIC  18-fasteoi   i801_smbus
23:          0          0         35          0          0         12          0          0   IO-APIC  23-fasteoi   ehci_hcd:usb2
24:          0          0         97          0          0     978691          0          0   PCI-MSI 32768-edge      i915
25:          0          0          0         14          0          0          0     230074   PCI-MSI 524288-edge      nvkm
26:          0          0          0          0      10040          0    7359851          0   PCI-MSI 512000-edge      ahci[0000:00:1f.2]
27:     874592          0          0         86          0          0          0          0   PCI-MSI 327680-edge      xhci_hcd
28:          0          0          0          0         34          0          0    6539651   PCI-MSI 1572864-edge      iwlwifi
29:          0          0          0          0          0  275803982          0          0   PCI-MSI 409600-edge      eth0
30:          0          0          0          0          0          0     898855          0   PCI-MSI 442368-edge      snd_hda_intel:card0
31:          0          0          0          0          0          0          0        117   PCI-MSI 49152-edge      snd_hda_intel:card1
NMI:          0          0          0          0          0          0          0          0   Non-maskable interrupts
LOC:   37568451    7459776    9938194    7600149    9953066    6502186    9669913    7487354   Local timer interrupts
SPU:          0          0          0          0          0          0          0          0   Spurious interrupts
PMI:          0          0          0          0          0          0          0          0   Performance monitoring interrupts
IWI:    9049601    9001318   11483731    8813827   11340145   11592037   11375181    8584509   IRQ work interrupts
RTR:          6          0          0          0          0          2          0          2   APIC ICR read retries
RES:   13555675   11439852   11860938   10220162   11011909   10382012   10961155    9711947   Rescheduling interrupts
CAL:     423857    9746756   10473751    9715232   10566874   14189988   10424151    9789938   Function call interrupts
TLB:     237504     198485     244023     199139     239101     223689     243022     234353   TLB shootdowns
TRM:    7965674    7965674    7965674    7965674    7965674    7965674    7965674    7965674   Thermal event interrupts
THR:          0          0          0          0          0          0          0          0   Threshold APIC interrupts
MCE:          0          0          0          0          0          0          0          0   Machine check exceptions
MCP:        370        358        358        358        358        371        371        371   Machine check polls
ERR:          0
MIS:          0
PIN:          0          0          0          0          0          0          0          0   Posted-interrupt notification event
NPI:          0          0          0          0          0          0          0          0   Nested posted-interrupt event
PIW:          0          0          0          0          0          0          0          0   Posted-interrupt wakeup event

и сравните со своим

ps
это haswell, прочие-остальные в 80% случаев сами так не могут. нужно помочь.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

97. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +2 +/
Сообщение от mikhailnov (ok), 09-Июл-18, 04:03 
В целом zram на 50% ОЗУ решил проблему подвисаний в нашем офисе. Опыт описан здесь: https://habr.com/post/344836/
На всех системниках и мониторах наклеены инструкции, как делать alt+sysrq+f, но они и так были почти не нужны, а потом ОЗУ стало 8 ГБ.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

102. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Anonymoustus (ok), 09-Июл-18, 05:07 
> В целом zram на 50% ОЗУ решил проблему подвисаний в нашем офисе.
> Опыт описан здесь: https://habr.com/post/344836/
> На всех системниках и мониторах наклеены инструкции, как делать alt+sysrq+f, но они
> и так были почти не нужны, а потом ОЗУ стало 8
> ГБ.
> Представьте, что у вас всего 4 ГБ оперативной памяти…

https://lleo.me/dnevnik/2008/05/31.html

Ответить | Правка | ^ к родителю #97 | Наверх | Cообщить модератору

140. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Michael Shigorinemail (ok), 09-Июл-18, 11:28 
>> Представьте, что у вас всего 4 ГБ оперативной памяти…
> https://lleo.me/dnevnik/2008/05/31.html

"Просидел неделю с настройками, плюнул, снова поставил ALT и надолго потерял желание экспериментировать"

Ну да, --as-needed у нас уже тогда был по умолчанию.  И не только.

Ответить | Правка | ^ к родителю #102 | Наверх | Cообщить модератору

159. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от mikhailnov (ok), 09-Июл-18, 15:55 
Можно поподробнее, какие настройки , связанные с оперативной памятью, в Альте?
Ответить | Правка | ^ к родителю #140 | Наверх | Cообщить модератору

176. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (175), 10-Июл-18, 08:50 
>а потом ОЗУ стало 8 ГБ.

Вот с этого надо было начинать.

Ответить | Правка | ^ к родителю #97 | Наверх | Cообщить модератору

128. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (17), 09-Июл-18, 09:27 
Бастьен Ноcера (Bastien Nocera), разработчик Totem, Rhythmbox и gvfs, входящий в управляющий комитет GNOME Foundation, опубликовал список пожеланий, отражающий возможности, которые разработчикам GNOME хотелось бы видеть в ядре Linux.
...Обработчик ситуации исчерпания памяти в системе (OOM killer), работающий в пространстве пользователя;
https://www.opennet.ru/opennews/art.shtml?num=40892

Передайте Бастьену Ноcере, что его пожелание выполнено.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

130. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +3 +/
Сообщение от JooL (?), 09-Июл-18, 09:33 
При нехватке памяти процесс атоматом закупает её на Amazon/Ebay :)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

137. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Anonimus (??), 09-Июл-18, 10:55 
Так и не понял чем же он лучше стандартного OOM Killer. Кто-то может прояснить?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

138. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (17), 09-Июл-18, 11:03 
1. OOMK может долго не приходить, и система зависает
2. OOMK может реагировать избыточно, убивая множество процессов вместо одного виновника. Так запросто может быть убит Xorg впридачу к виновнику.
3. OOMK не посылает десктопных уведомлений.
4. OOMK не поддерживает удобное управления предпочтительными для убийства процессами через regex matching
5. OOMK отправляет только SIGKILL. Nohang может отправлять SIGTERM, позволяя процессам завершаться корректно.
Ответить | Правка | ^ к родителю #137 | Наверх | Cообщить модератору

143. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Anonimus (??), 09-Июл-18, 11:34 
1) oomk - придет вовремя в отличие от earlyoom (принцип хука на событие вместо таймера как у данного сабжа)
2) oomk, как правило, «убивает» наименее важный по его мнению процесс который вместе с дочерними процессами кушает больше всего памяти. Если убило Xorg значит он был достаточно прожорлив, при этом вы можете восстановить работоспособность системы из консоли (с точки зрения системы он не является критическим сервисом). Вот неплохо написано про алгоритм работы oomk - http://shtsh.blogspot.com/2012/04/oom-killer.html
3) Это особенно актуально если под раздачу попал DE и не сможет вывести нотификацию. Про серверные системы вообще промолчу.
4) oom_score_adj к которому regex matching можно использовать достаточно просто при желании
5) oomk отправляет SIGKILL когда выбор стоит между «упадет система» и «убить» процесс. с SIGTERM можно опоздать с мерами и придется ребутать на гарячуюю  всю систему что существенно хуже.
Ответить | Правка | ^ к родителю #138 | Наверх | Cообщить модератору

147. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 09-Июл-18, 12:25 
Долго объяснять, просто посмотри на комментарии счастливых пользователей OOM killera:
https://pastebin.com/3THbZyCn
Ответить | Правка | ^ к родителю #143 | Наверх | Cообщить модератору

161. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Anonimus (??), 09-Июл-18, 16:09 
По ссылке перепись "счастливых" *опоруков. Таких найти не проблема практически для любого вопроса.
По хорошему, системы нужно конфигурировать так что б память не заканчивалась после каждого чиха и на настроенных системах в случае форс мажора oomk отрабатывает более чем адекватно.
Да и уязвимостей в нем за всю его историю особо не припомню, не то что в данном сабже...
Ответить | Правка | ^ к родителю #147 | Наверх | Cообщить модератору

166. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (166), 09-Июл-18, 18:56 
> и на настроенных системах в случае форс мажора oomk отрабатывает более чем адекватно

Ну ты и фантазер

Ответить | Правка | ^ к родителю #161 | Наверх | Cообщить модератору

186. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Anonimus (??), 10-Июл-18, 14:33 
Это личный опыт...
Ответить | Правка | ^ к родителю #166 | Наверх | Cообщить модератору

145. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (153), 09-Июл-18, 11:51 
Первая мысль при чтении новости - в лучших традициях последнего времени написано на Java или Python, а то и на JavaScript. И по приоритетам киляет сначала само себя. Ан нет, пронесло. Все грамотно.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

162. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +4 +/
Сообщение от Аноним (163), 09-Июл-18, 17:03 
(на мелодию рекламы пепси) Поколение смузихлебов выбираееееееет ... гoвно.

314 лайков, 35 форков вот у этого:
<code>
report_interval = report_interval * 10; // loop runs at 10Hz
...
usleep(100000); // 100 ms <=> 10 Hz

...
char notif[600];
snprintf(notif, sizeof(notif), "%s %s", notif_command, notif_args);
...
char notif_args[PATH_MAX + 1000];
snprintf(notif_args, sizeof(notif_args), "-i dialog-warning 'earlyoom' 'Killing process %d %s'", victim_pid, victim_name);
<code>

Ну и коммиты, конечно, просто блистают:
<diff>

     if (victim_pid == 0) {
        
-        fprintf(stderr, "Error: Could not find a process to kill. Sleeping 10 seconds.\n");
        
-        maybe_notify(notif_command, "-i dialog-error 'earlyoom' 'Error: Could not find a process to kill'");
        
-        sleep(10);
        
+        fprintf(stderr, "Error: Could not find a process to kill. Sleeping 1 second.\n");
        
+        maybe_notify(notif_command, "-i dialog-error 'earlyoom' 'Error: Could not find a process to kill. Sleeping 1 second.'");
        
+        sleep(1);
        
         return;
        
     }
        

    @@ -223,9 +223,9 @@ static void userspace_kill(DIR* procdir, int sig, int ignore_oom_score_adj,
        
         // Killing the process may have failed because we are not running as root.
        
         // In that case, trying again in 100ms will just yield the same error.
        
         // Throttle ourselves to not spam the log.
        
-        fprintf(stderr, "Sleeping 10 seconds\n");
        
-        maybe_notify(notif_command, "-i dialog-error 'earlyoom' 'Error: Failed to kill process'");
        
-        sleep(10);
        
+        fprintf(stderr, "Sleeping 1 second\n");
        
+        maybe_notify(notif_command, "-i dialog-error 'earlyoom' 'Error: Failed to kill process. Sleeping 1 second.'");
        
+        sleep(1);
        
     }
<diff>

Наxера святые Керниган и Ричи дали обезьянам дефайны и статики, а пророк их Страуструп консты - непонятно.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

164. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 09-Июл-18, 17:34 
Юзеры лайкают за полезный функционал, а не за качество кода.
Ответить | Правка | ^ к родителю #162 | Наверх | Cообщить модератору

169. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Анонимemail (169), 09-Июл-18, 23:12 
Только в первые 10 минут.
Ответить | Правка | ^ к родителю #164 | Наверх | Cообщить модератору

171. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (171), 10-Июл-18, 00:39 
а потом приходит ООMKiller...
Ответить | Правка | ^ к родителю #169 | Наверх | Cообщить модератору

185. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (163), 10-Июл-18, 14:29 
Полезный функционал напрямую зависит от качества кода.
Ответить | Правка | ^ к родителю #164 | Наверх | Cообщить модератору

187. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 10-Июл-18, 19:02 
Можно и на костылях сделать полезный функционал. А можно сделать красивый вылидный код, которых ничего полезного не делает. Это перпендикулярные вещи в основном.
Ответить | Правка | ^ к родителю #185 | Наверх | Cообщить модератору

190. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Kuromi (ok), 11-Июл-18, 19:51 
Чую использование может грозить сильными потоками матов. Скажем у вас браузер, возможно рыжий, сожрал дофига памяти, и вот вы в процессе оплаты чего либо и тут рраз...
А дальше как повезет, возможно придется много звонить и объяснять что "упс".
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

191. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 11-Июл-18, 22:18 
Напротив, если не использовать предотвратитель ООМ, то система тависнет так, что потребуются жесткие меры с потерей несохраненных данных всех приложений. Опять таки, можно настроить earlyoom на реакцию только в крайнем случае, например если свододной памяти меньше 1%
Ответить | Правка | ^ к родителю #190 | Наверх | Cообщить модератору

192. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 11-Июл-18, 22:40 
И да, nohang поддерживает всплывающие уведомления о низком уровне памяти, предупреждая пользователя о необходимости умерить аппетит. См демо https://youtu.be/DefJBaKD7C8
Ответить | Правка | ^ к родителю #190 | Наверх | Cообщить модератору

196. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (196), 13-Июл-18, 23:33 
Т.е. если памяти станет совсем мало, весь экран покроется пятнами с непонятными надписями? круто
Ответить | Правка | ^ к родителю #192 | Наверх | Cообщить модератору

199. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 15-Июл-18, 18:11 
Покроется если влючешь эту опцию. По дефолту ГУИ уведомления отключены.
Ответить | Правка | ^ к родителю #196 | Наверх | Cообщить модератору

195. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (195), 13-Июл-18, 22:52 
А какже OOMKILLER??

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

197. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 15-Июл-18, 18:08 
1) oomk - придет вовремя в отличие от earlyoom (принцип хука на событие вместо таймера как у данного сабжа)
2) oomk, как правило, «убивает» наименее важный по его мнению процесс который вместе с дочерними процессами кушает больше всего памяти. Если убило Xorg значит он был достаточно прожорлив, при этом вы можете восстановить работоспособность системы из консоли (с точки зрения системы он не является критическим сервисом). Вот неплохо написано про алгоритм работы oomk - http://shtsh.blogspot.com/2012/04/oom-killer.html
3) Это особенно актуально если под раздачу попал DE и не сможет вывести нотификацию. Про серверные системы вообще промолчу.
4) oom_score_adj к которому regex matching можно использовать достаточно просто при желании
5) oomk отправляет SIGKILL когда выбор стоит между «упадет система» и «убить» процесс. с SIGTERM можно опоздать с мерами и придется ребутать на гарячуюю  всю систему что существенно хуже.
Ответить | Правка | ^ к родителю #195 | Наверх | Cообщить модератору

198. "Выпуск earlyoom 1.1, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 15-Июл-18, 18:09 
фу блин, наоборот

1. OOMK может долго не приходить, и система зависает
2. OOMK может реагировать избыточно, убивая множество процессов вместо одного виновника. Так запросто может быть убит Xorg впридачу к виновнику.
3. OOMK не посылает десктопных уведомлений.
4. OOMK не поддерживает удобное управления предпочтительными для убийства процессами через regex matching
5. OOMK отправляет только SIGKILL. Nohang может отправлять SIGTERM, позволяя процессам завершаться корректно.

Ответить | Правка | ^ к родителю #195 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру