The OpenNET Project / Index page

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



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

"Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от opennews (??), 04-Ноя-18, 19:14 
После трёх месяцев разработки опубликован выпуск фонового процесса earlyoom 1.2 (https://github.com/rfjakob/earlyoom), который периодически проверяет объем доступной памяти (MemAvailable, SwapFree) и пытается на ранней стадии отреагировать на возникновения нехватки памяти.


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


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


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


-  Внедрено адаптивное время сна (адаптивная частота проверки уровня доступной памяти) для снижения нагрузки на процессор: чем меньше доступной памяти осталось, тем чаще проверяется объем доступной памяти (один раз в секунду если памяти достаточно и чаще по мере ее уменьшения);
-  Удалена опция "-k" для вызова ядерного oom-killer'a (ее использование давало непредсказуемые результаты; теперь эта опция игнорируется для совместимости);
-  Исправлена ошибка, приводящая к некорректному поведению после монтирования своп-раздела, если earlyoom уже был запущен;
-  Реализовано ступенчатое завершение процессов: сначала происходит попытка корректного завершения процесса путем отправки ему сигнала SIGTERM, и только в случае отсутствия реакции на SIGTERM и при дальнейшем уменьшении доступной памяти происходит отправка SIGKILL процессу с наибольшим oom_score.

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

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

Оглавление

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


2. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –9 +/
Сообщение от VINRARUS (ok), 04-Ноя-18, 19:16 
Я был доволен своей манжарой пока не запустил игрушку при 8 Гб рам и отсутствием свопа...
Думал в 2018м подобные демоны скончания оперативки щитаются стандартом в дистрибутивах, оказалось нет...
Думал kernel panic  в прошлом...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +8 +/
Сообщение от GK_222 (?), 04-Ноя-18, 22:18 
А при чем тут kernel panic? С точки зрения ядра - все так и должно быть, только пользователь недоволен. У меня на нетбуке тоже Манджаро, 4 Гб памяти и нет свопа. Аналогично, все вешалось иногда, приходил OOM-killer и вешался за компанию.. Решалось через sysrq и ребут, но очень бесило. Earlyoom избавил от этого, причем на грани фантастики - хром с 20 вкладками в фоне, спереди игрушка под wine, файл-менеджер и торрент-клиент тоже где-то болтаются и все нормально. Я, правда, с той поры, немного поумнел - логинюсь через tty, красивости и ненужные сервисы\модули ядра - под нож, /tmp из оперативки на диск (+ccache) и вагон с тележкой других твиков.
Так что за то, что она вешалась - я даже благодарен, так много интересного о системе никогда не узнаешь, если тупо ждать программу с кнопкой "сделать за..шибись".
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

23. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –3 +/
Сообщение от VINRARUS (ok), 04-Ноя-18, 22:56 
>А при чем тут kernel panic?

У меня ядро 2.6.10 любило вешаться при переполнении оперативки без свапа, на прощание сообщая о kernel panic.
>Так что за то, что она вешалась - я даже благодарен, так много интересного о системе никогда не узнаешь, если тупо ждать программу с кнопкой "сделать за..шибись".

Безопасный обновлятор огнепанды написал, управлялку кулерами написал, скрипт бекапа с SSD на HDD написал, теперь ещо и убивалку процесов писать на шел? xD
Думал ограничусь модом мобилки, теперь приходится мод десктопа поневоле делать...

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

26. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –1 +/
Сообщение от Sem (??), 04-Ноя-18, 23:13 
Ужас, у меня 1.5 Гб и без свопа на WinXP ни одного раза не зависала ОС - только приложение вылетает или виснет при нехватке памяти. А тут такое, для дома не годится, это либо подход такой "серверный" либо просто позорище этот линукс
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

29. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от пох (?), 05-Ноя-18, 00:01 
я вам страшную тайну открою -- у xp не бывает "без свопа". Даже если вручную все поотключать, она с горя создаст временный, где-то в windows\system32 или рядом.

Но у нее нет overcommit, и proactive свопа тоже нет.

А я вот сейчас наблюдаю такой себе mysqld, отожравший в свопе 3 гига из четырех возможных и пытаюсь понять - убить его, от греха, или пусть так как-нибудь выживает (это именно proactive swap - то есть система решила что даже буферный кэш полезнее этих байтиков)

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

77. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от КГБ СССР (?), 05-Ноя-18, 15:48 
Ну тогда надо продолжить и сказать, что у любой Windows не бывает без свопа, даже если его отключить.
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

32. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Анон546 (?), 05-Ноя-18, 01:33 
Не смешите мои подковы.
Запуск десятка приложений повесил одну ХП почти в 0 на моих глазах. курсор кажется двигался, но нельзя было даже нажать на заранее запущенный диспетчер задач, что показывал занятость 100% озу
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

50. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –2 +/
Сообщение от Аноним (50), 05-Ноя-18, 10:28 
> –3 +/–

О, а вот и подоконники-некрофилы.

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

43. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –1 +/
Сообщение от Аноним (43), 05-Ноя-18, 07:28 
> 4 Гб памяти и нет свопа

А нормальный купить не судьба, хотя бы с 16 гб? Или нищ и свободен?

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

44. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +2 +/
Сообщение от пох (?), 05-Ноя-18, 08:40 
> А нормальный купить не судьба

ключевое слово, которое нище6poд ниасилил прочитать и понять (и это ты, а не предыдущий анон) - "нетбук". У тебя его никогда не было, иначе бы ты не писал глупости.

Нормальный - это который валяется в рюкзаке-косметичке не потому что нужен, а потому что "а вдруг пригодится, и вообще, зачем вынимать". Что накладывает определенные требования на размер, вес и дубовость конструкции (чтобы оно не сдохло через пол-годика такого таскания). Китайцы, закрывшие эту нишу полностью, к сожалению, не любят "инноваций" и еще десять лет собираются копировать одну-единственную удавшуюся им модель (потому что решительно неспособны создать сами ничего что купят белорожие небратья) - а это 4/32/отстегивающаяся клавиатура.

а mac air вполне может быть и не судьба - его жалко, он убьется (китаец убьется - "несите следующего, $250"), мы ж про нетбук для дела, а не для правильного сочетания с беленой бороденкой и штанишками с подворотиками, который носят до совокинга и обратно, нежно стряхивая пылинки. К тому же на mac air нет проблемы с oom ;-)

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

46. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (43), 05-Ноя-18, 09:04 
>ниасилил прочитать и понять (и это ты, а не предыдущий анон) - "нетбук".

Вот именно, что осилил. У тёщи нетбук с 16гигами (делл, вроде) под офисные задачи (хром, мсофис, 1с, скайп, вотсапп, слак) и ей не хватает - забивает и свопит.
А тут человек жалуется при 4 гигах - детсад же.

>Нормальный - это который валяется в рюкзаке-косметичке

Вот именно. В дамской сумочке. Пришла в офис, подключила монитор, клавомышь, работает. Приехала домой - нахреначила отчет лежа в кроватке.


Уши так что нехрен судить о людях

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

63. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от пох (?), 05-Ноя-18, 11:37 
> Вот именно, что осилил.

не осилил.
> У тёщи нетбук с 16гигами (делл, вроде)

a) "у тещи"
b) dell netbook - ноль результатов, может быть вы искали dell laptop.
не производит делл классических нетбуков, похоже.

> Вот именно. В дамской сумочке. Пришла в офис, подключила монитор, клавомышь, работает.

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

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

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

68. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (43), 05-Ноя-18, 12:16 
И еще.

>мониторы к ним, доложу тебе, вообще подключают только для презентаций- потому что ад и израиль

Линуксопроблемы. В десяточке подключил и работаешь.

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

115. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от пох (?), 06-Ноя-18, 20:24 
>>мониторы к ним, доложу тебе, вообще подключают только для презентаций- потому что ад и израиль
> Линуксопроблемы. В десяточке подключил и работаешь.

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

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

69. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от pavlinux (ok), 05-Ноя-18, 12:19 
> Вот именно, что осилил. У тёщи нетбук с 16гигами (делл, вроде)
> под офисные задачи (хром, мсофис, 1с, скайп, вотсапп, слак)
> и ей не хватает - забивает и свопит.
> А тут человек жалуется при 4 гигах - детсад же.

Аноним, ты -аноним, какой смысл начёсывать себе ЧСВ, если ты аноним?

А по факту вижу что ты тупа пиз...шь и никогда в жизни не видел Linux на 16Гб.


Я тут обвешан всем чем можно: браузеры, мессенджеры, Vuze на жаве, тандырбёрты, офисы,
в фоне MySQL, апач, впн, тор, самба, мелочь всяка, ядро собирается в 64 потока,...  
из 16 гигов ещё 3.2 свободны.

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

78. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от КГБ СССР (?), 05-Ноя-18, 15:51 
> Я тут обвешан всем чем можно: браузеры, мессенджеры, Vuze на жаве, тандырбёрты,
> офисы,
> в фоне MySQL, апач, впн, тор, самба, мелочь всяка, ядро собирается в
> 64 потока,...
> из 16 гигов ещё 3.2 свободны.

И таки без свопа или с? А если ещё сто вкладок в хроме открыть? ;)

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

87. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от pavlinux (ok), 05-Ноя-18, 18:31 
>> Я тут обвешан всем чем можно: браузеры, мессенджеры, Vuze на жаве, тандырбёрты,
>> офисы,
>> в фоне MySQL, апач, впн, тор, самба, мелочь всяка, ядро собирается в
>> 64 потока,...
>> из 16 гигов ещё 3.2 свободны.
> И таки без свопа или с? А если ещё сто вкладок в
> хроме открыть? ;)

Какие вкладки, детская нагрузка. По 64 потока gcc+cpp+as это вам не в офисе кнопки давить.  

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

103. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (103), 06-Ноя-18, 05:09 
> Решалось через sysrq и ребут

Зачем ребут, если достаточно SysRq?

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

112. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от pavlinux (ok), 06-Ноя-18, 17:54 
>> Решалось через sysrq и ребут
> Зачем ребут, если достаточно SysRq?

Пиши фамилию, работу, должность, чтоб не попался при деле.

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

85. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –2 +/
Сообщение от Аноним (85), 05-Ноя-18, 17:41 
>был доволен своей манжарой пока не запустил игрушку при 8 Гб рам

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

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

94. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +1 +/
Сообщение от VINRARUS (ok), 05-Ноя-18, 20:23 
>Нужен не OOM, а демон, который при запуске проверяет количество оперативы, и если оно меньше 8гб

Предлагаеш хром установить?

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

116. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –1 +/
Сообщение от пох (?), 06-Ноя-18, 20:25 
>>Нужен не OOM, а демон, который при запуске проверяет количество оперативы, и если оно меньше 8гб
> Предлагаеш хром установить?

хедхантер не откроется ;-)


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

4. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –3 +/
Сообщение от Аноним (4), 04-Ноя-18, 19:18 
Почему этот демон не включен из коробки в большинстве популярных дистров? Потребляет практически ноль ресурсов, при этом надежно предохраняет от OOM.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

25. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (25), 04-Ноя-18, 23:09 
Этот демон на большинстве систем и не нужен. На нормальном сервере есть мониторинг, и разумный сисадмин узнает о проблемах и сможет их решить, а, главное, узнать причину. На десктопе когда курсор мышки перестанет ездить и лампочка HDD будет непрерывно гореть тоже все станет ясно без лишнего демона.

Такой демон (отжирающий CPU и память) нужен на системе, где срабатывания полноценного OOM ждать не хочется и у самого пользователя не хватает квалификации отреагировать, когда активный swap только начался или когда пользователь мамкин хацкер, сконфигурировал систему вообще без swap и не понимает, что учудил.

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

27. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (27), 04-Ноя-18, 23:20 
>Такой демон (отжирающий CPU и память)

У меня на htop он показывает 0% CPU и 0% нагрузки на память.

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

48. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +2 +/
Сообщение от Аноним (48), 05-Ноя-18, 10:00 
Потому что большинству пользователей это не нужно.
Если какой-то процесс потребляет больше всего памяти - это еще не повод убивать именно его. Возможно, пользователю именно этот процесс в данный момент и нужен, а убить лучше что-то менее нужное... По крайней мере у меня именно такой сценарий. Но тут уже никакая утилита не поможет.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

49. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (49), 05-Ноя-18, 10:26 
Посути он и есть ООМ ))
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

51. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (50), 05-Ноя-18, 10:31 
> Почему этот демон не включен из коробки

Потому что безрукие удаки должны страдать.

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

86. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +2 +/
Сообщение от danimon (?), 05-Ноя-18, 18:10 
этот демон устанавливается с браузером хром
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

11. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (11), 04-Ноя-18, 20:21 
Господа, да это же костыль.

Нормальная production-ready система ОБЯЗАНА на такое штатно реагировать, как и, например, на исчерпание места на диске. Костыли НОРМАЛЬНОЙ ОС для такого не должны быть необходимы.

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

12. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +7 +/
Сообщение от Аноним (27), 04-Ноя-18, 20:42 
Пожалуйста, перестаньте считать костыли чем-то плохим. При отсутствии ног костыли - это благо. Костыли - это вариант решения проблемы.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

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

31. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –1 +/
Сообщение от VINRARUS (ok), 05-Ноя-18, 00:55 
Чо в проблемах ядра винят всю ОСь?
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

53. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Orduemail (ok), 05-Ноя-18, 10:33 
В твоём понимании костыль -- это то, что не включено в систему штатно? Ну дак включи этот демон в систему штатно, и он перестанет быть костылём.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

119. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Нанобот (ok), 06-Ноя-18, 21:03 
> Господа, да это же костыль.

ну да, линукс без них практически бесполезен

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

14. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (14), 04-Ноя-18, 21:00 
А есть такая штука, чтобы убивала (лучше как-нибудь замораживала) процесс приводящий к неотзывчивости системы в течении определенного времени? А то бывает так: что-то начинает быстро сжирать память, и, когда дело доходит до свопа, система впадает в ступор, а ждать пока своп заполнится и сработает oom killer можно еще очень долго.

К слову, нормальная ОС должна обеспечивать реакцию на интерактивные команды пользователя (будь-то локальный или удаленный текстовый терминал или нажатия мышкой в GUI) с максимальным приоритетом, быстро независимо от всей остальной загрузки и использования ресурсов остальным процессами, потому что пользователь всегда главнее всех процессов.

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

15. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (27), 04-Ноя-18, 21:07 
>(лучше как-нибудь замораживала) процесс приводящий к неотзывчивости системы в течении определенного времени?

пока такого нет, но теоретически можно сделать через SIGSTOP/SIGCONT

>пользователь всегда главнее всех процессов

Потомки исков имеют обычный приоритет. Это ж серверная ось в основном.

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

16. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +3 +/
Сообщение от Анононим (?), 04-Ноя-18, 21:33 
> К слову, нормальная ОС должна обеспечивать реакцию на интерактивные команды пользователя
> (будь-то локальный или удаленный текстовый терминал или нажатия мышкой в GUI)
> с максимальным приоритетом, быстро независимо от всей остальной загрузки и использования

sysctl kern.sched.interact=10 # default is 30
sysctl kern.sched.preempt_thresh=224
В итоге, даже при полной загрузке (запустив к обычному фону еще и 6 x 'python -c "while True:pass"' на двух ядрах) переключение между раб. столами, браузерами/claws проходит практически без ощутимых запинок.

> ресурсов остальным процессами, потому что пользователь всегда главнее всех процессов.

Сильно зависит от сценария использования. Банальный пример: подсоединение к панели управления маршрутизатором не должно приводить к лагам или тем более обрывам голосовых соединения (IP телефон или всякие вайберы и вотсапы, не суть важно).


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

17. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (17), 04-Ноя-18, 22:06 
это же для фряхи)) а для линукса есть подобное?)
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

21. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –3 +/
Сообщение от Fracta1L (ok), 04-Ноя-18, 22:30 
> В итоге, даже при полной загрузке (запустив к обычному фону еще и 6 x 'python -c "while True:pass"' на двух ядрах) переключение между раб. столами, браузерами/claws проходит практически без ощутимых запинок

Это что за трэшак такой, что требует напильника для того, чтобы переключение окон и рабстолов не дёргалось при нагруженном процессоре? Там что, отрисовки интерфейса на gpu до сих пор нет?

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

24. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Анононим (?), 04-Ноя-18, 23:00 

> Это что за трэшак такой, что требует напильника для того, чтобы переключение
> окон и рабстолов не дёргалось при нагруженном процессоре?

О, началось развешивание лапши на уши и описание солено-пряного вкуса апельсинов.

> Там что, отрисовки интерфейса на gpu до сих пор нет?

Далеко не все в гтк/qt рисуется gpu.


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

45. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –1 +/
Сообщение от Fracta1L (ok), 05-Ноя-18, 08:48 
> началось развешивание лапши на уши

Ога, когда человек всю жизнь живёт в глухой деревне, он тоже не верит, что на свете бывают чистые мощёные тротуары вместо грязи с навозом XD

> Далеко не все в гтк/qt рисуется gpu

Что, например, в Plasma рисуется не на gpu?

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

75. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Анононим (?), 05-Ноя-18, 15:33 
>> началось развешивание лапши на уши
> Ога, когда человек всю жизнь живёт в глухой деревне, он тоже не верит, что на свете бывают чистые мощёные тротуары вместо грязи с навозом XD

Да-да, все кого гордый житель Новых Васюков встретил вне своего "мегаполиса" автоматически проживают в глухих деревнях и никогда не видели вживую этих ваших бубунт или окошек с маками. Да и 12309 на самом деле миф.

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

84. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –1 +/
Сообщение от Fracta1L (ok), 05-Ноя-18, 16:26 
О, ещё и 12309 приплёл. Всё ясно)
Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

89. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Анононим (?), 05-Ноя-18, 18:48 
> О, ещё и 12309 приплёл. Всё ясно)

То ли дело упомянуть "деревню, грязь и навоз", да?


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

76. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (76), 05-Ноя-18, 15:44 
> отрисовки интерфейса на gpu до сих пор нет?

Открою страшную тайну тебе и всем другим фанатам "интерфейса на GPU" -- без команд от центрального процессора видеокарта ничего рисовать не будет. И если перегруженный CPU не успевает с достаточной скоростью обновлять, например, координаты перетаскиваемого окна, то никакой GPU не спасёт от дёрганий и прочих тормозов.

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

90. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Анононим (?), 05-Ноя-18, 18:54 
>> отрисовки интерфейса на gpu до сих пор нет?
> Открою страшную тайну тебе и всем другим фанатам "интерфейса на GPU"

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

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

20. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Анонимemail (19), 04-Ноя-18, 22:28 
Но не всегда тот пользователь, что прокладка между стулом и монитором
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

22. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Vitaliy Blatsemail (?), 04-Ноя-18, 22:49 
> завершит работу процесса, наиболее активно потребляющего память

А вот это не очень хорошо. Как минимум надо иметь возможность выбора из нескольких сценариев.

Ну вот НАПРИМЕР у меня типичная связка nginx->php-fpm->mysql. Все эти процессы жрут плюс минус одинаково, однако php-fpm запускает свои потоки с разными PID'ами, а mysqld один.
Подключатся десять посетителей к Вордпрессу или Джумле на таком сервере, и получится что у нас 10 разных php-fpm по 100Мб каждый, и один mysqld на 1024Мб, который будет первым на вылет, и периодически киляется OOM'ом после чего привет, 500-я и сайт(ы) в ауте.

Но это же никуа не логично! Логичнее прибить пять php-fpm'ов, после чего 500Мб освободят они, и еще 500 освободит mysqld.

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

30. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (30), 05-Ноя-18, 00:33 
Всё настраивается. Как на уровне ядра (google://oom_score_adj), так и на уровне данного демона (новость://опция "--avoid").
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

36. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +2 +/
Сообщение от Аноним (36), 05-Ноя-18, 03:09 
У вас странное представление о том, как организовывать стабильность сайта. Во-первых, не надо использовать пхп. Во-вторых, нужно сначала посчитать кто сколько жрёт, потом посчитать сколько потянет ваше железо, а потом ограничить кол-во одновременных запросов - как раз что бы память не кончалась. А вы вместо этого пускаете на вход любое колво запросов, а когда это всё взрывается убиваете процессы? Это безумие.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

41. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –1 +/
Сообщение от Аноним (30), 05-Ноя-18, 07:11 
Одно другому не мешает. Во время доработок в коде может появиться утечка памяти. Да и в обычном режиме разные страницы жрут разное кол-во памяти - предлагаете ограничиться одним одновременным запросом из-за одной редко-используемой страницы?
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

58. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +1 +/
Сообщение от пох (?), 05-Ноя-18, 10:45 
> Одно другому не мешает.

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

> Во время доработок в коде может появиться утечка памяти.

тесты ниасилили, доработки выполняем прямо на проде? Лимит памяти php-fpm настроить - тоже не умеем (в том числе, вот удивительно-то, его можно оверрайдить, можно вообще держать несколько по разному настроенных пулов для тяжелых но редких процессов и мелких но с большим числом запросов)

впрочем, это все - средства защиты от ошибок разработчика, а не панацея от исчерпания памяти.

если памяти не хватает - ее таки просто не хватает, пользователю вообще-то все равно, получил он 504 сразу же при входе или при попытке выполнить сложную операцию (а данные формы мы отправляем аяксом и пусть все сто полей заново заполнит). И надо добавлять память, банально.

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

72. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (30), 05-Ноя-18, 13:03 
> тесты ниасилили, доработки выполняем прямо на проде?

Ни разу не видел утечек памяти в стабильных ветках программ? Серьёзно? У меня и в ядре была утечка одно время... В стабильной ветке, на стабильном дистре...

P.S.: комментировать остальные потоки незамутнённого сознания нет никакого желания

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

96. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от пох (?), 05-Ноя-18, 21:52 
> Ни разу не видел утечек памяти в стабильных ветках программ?

начинаем вилять ужом и фигурно цитировать?
я комментировал это:
> Во время доработок в коде может появиться утечка памяти.

это вот - прекрасно ловится тестовой средой.

и да, напоминаю, речь шла о php и вебе - то есть то место, где "долгоиграющих", по капле, утечек не бывает. потому что время жизни процесса ограничено и можно ограничить его еще и сверх того.

> P.S.: комментировать остальные потоки незамутнённого сознания нет никакого желания

в зеркальце, кума, посмотри.


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

101. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (30), 06-Ноя-18, 01:16 
>> Во время доработок в коде может появиться утечка памяти.
> это вот - прекрасно ловится тестовой средой.

Так может сказать только зелёный теоретик. Если бы оно всегда всё было так просто, то и проблемы этой не существовало бы глобально.

> и да, напоминаю, речь шла о php и вебе - то есть то место, где "долгоиграющих", по капле, утечек не бывает. потому что время жизни процесса ограничено и можно ограничить его еще и сверх того.

И снова теория. В жизни-то оно по всякому бывает. Гугли что такое нода, реактпхп и fastcgi_finish_request. Хотя и в других случаях бывают нужны долгоиграющие процессы.

P.S.: Надоело спорить с воинствующей безграмотностью.

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

33. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (33), 05-Ноя-18, 01:44 
Скачал, скомпилировал, установил, запустил сервис (сервис запустился), запускаю membomb, который идёт в комплекте, по-видимому, для целей тестирования - наглухо вешается система, никто никого не прибивает. Ubuntu 18.04 x64, 8Gb, HDD, своп включен, настройки earlyoom по умолчанию. ЧЯДНТ?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

35. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (33), 05-Ноя-18, 02:05 
-s 100,100 или отключение свопа вовсе помогает. В общем, нужно тюнить под свою конфигурацию, похоже.
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

37. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (33), 05-Ноя-18, 03:24 
Похоже, там "и", а не "или". Даже с отключенным свопом без " -s 100,100 " не работает.
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

39. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –1 +/
Сообщение от Аноним (27), 05-Ноя-18, 06:26 
>наглухо вешается система

Она вешается вследствие процесса наполнения свопа, а не из-за OOM. По умолчанию сигкилл происходит козда остается 10% свопа свободно.


И да, пользуйтесь zram и не используйтете своп на HDD.

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

34. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (36), 05-Ноя-18, 01:52 
Не понял, а зачем всё это нужно? Своп никто в наше время уже не включает, а ограничить память процессу можно через cgroups, не?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

54. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +6 +/
Сообщение от Аноним (50), 05-Ноя-18, 10:35 
> Своп никто в наше время уже не включает

Наглая ложь. Я включаю.

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

56. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Orduemail (ok), 05-Ноя-18, 10:43 
> Не понял, а зачем всё это нужно? Своп никто в наше время уже не включает, ...

Заурядный не умеющий читать аноним опеннета. Речь не о свопе, а об ООМ. Отключением свопа ты не решишь проблемы ООМ. Даже наоборот приблизишь, ибо виртуальной памяти будет меньше.

> ... а ограничить память процессу можно через cgroups, не?

А можно просто прибивать те, кто сжирает слишком много, причём прибивать их только тогда, когда такое поведение приводит к проблемам.

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

60. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от пох (?), 05-Ноя-18, 10:48 
> Заурядный не умеющий читать аноним опеннета.

они не читать не умеют, им просто эти слова непонятны.
победители свопа, мнящие себя админами :-(

> А можно просто прибивать те, кто сжирает слишком много, причём прибивать их только тогда,
> когда такое поведение приводит к проблемам.

swap trashing это таки проблема - но такой ИИ еще не изобрели.
Успел набрать kill - молодец, не успел - press reset twice for bbs.

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

73. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Анононим (?), 05-Ноя-18, 15:10 
> Заурядный не умеющий читать аноним опеннета.

Опять началось массовое осеннеe обострение ЧСВ на опеннете.

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

100. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Orduemail (ok), 05-Ноя-18, 23:22 
>> Заурядный не умеющий читать аноним опеннета.
> Опять началось массовое осеннеe обострение ЧСВ на опеннете.

Наблюдение за не умеющими читать анонимами опеннета провоцирует. Хочешь не хочешь, а сравниваешь себя с ними.

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

38. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (38), 05-Ноя-18, 03:35 
limits.conf уже не рулит или чо?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

40. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (27), 05-Ноя-18, 07:02 
> limits.conf уже не рулит или чо?

Если бы рулил лимитс.конф, то вот эта дискуссия
https://www.reddit.com/r/linux/comments/56r4xj/why_are_low_m.../
на 480+ постов не возникла бы.

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

64. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от пох (?), 05-Ноя-18, 11:41 
> limits.conf уже не рулит или чо?

лет двадцать уже не.
С ядра 1.2, по-моему.


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

81. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от КГБ СССР (?), 05-Ноя-18, 16:02 
У кого есть лишние деньги, могут решать эту проблему способом «купить ещё памяти, нынче она дешёвая» (как здешние богатые анонимы), остальные обречены страдать.
Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

97. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от пох (?), 05-Ноя-18, 21:57 
ну вообще-то способов решить проблему нехватки памяти кроме как купить еще памяти, наука не знает в приниципе.
Проблемы неадекватного поведения системы, когда памяти не хватило конкретному процессу/процессам - это совершенно отдельная история. Они по разному, но одинаково уныло выглядят и в винде, и в фре, и в линуксе. (то есть проявляются в разных местах, и имеют разное проявление - так что иногда смена системы помогает вернуть контроль над ситуацией. Но вариант "перезагрузки ресетом", увы, никуда не девается во всех трех. За солярку вот не скажу, не напарывался.)
Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

99. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от КГБ СССР (?), 05-Ноя-18, 22:18 
> ну вообще-то способов решить проблему нехватки памяти кроме как купить еще памяти,
> наука не знает в приниципе.

Кроме «покупки ещё памяти» наука знает и другие средства, позволявшие с большой пользой для человечества работать ещё на килобайтах памяти. Но эти средства ныне малопопулярны, поскольку план по г-нокоду всегда горит.


> Проблемы неадекватного поведения системы, когда памяти не хватило конкретному процессу/процессам
> - это совершенно отдельная история. Они по разному, но одинаково уныло
> выглядят и в винде, и в фре, и в линуксе. (то
> есть проявляются в разных местах, и имеют разное проявление - так
> что иногда смена системы помогает вернуть контроль над ситуацией. Но вариант
> "перезагрузки ресетом", увы, никуда не девается во всех трех. За солярку
> вот не скажу, не напарывался.)

Эти проблемы не из глубин космоса прилетают, а заг-нокожены конкретными людьми, «чего-то недопонявшими» в курсе про архитектуры операционных систем и при изучении языков программирования, или просто им некогда было сделать хорошо и правильно.

Особенно вот умиляют компромиссы в этой прекрасной теме. Например, MS сперва для NT сделала всё правильно, отделив GUI от ядра, но затем начальники кнутами начали подгонять рабов делать побыстрее, потому что, видите ли, «план горит». А если бы годика два-три обождали с выходом на рынок, то и GUI сразу бы красивый к системе прицепили, и поддержку файловых систем получше сделали, и в нужных местах оптимизировали (без кавычек), и железо бы подтянулось как раз к аппаратным хотелкам NT. Не пришлось бы потом четверть века играть в перегонялки с багами и кульхацкерами. Не пришлось бы героически бороться за разную совместимость, про которую не подумали загодя. Глядишь и POSIX внутре бы пригодился. А может даже и на нескольких архитектурах расцвёл бы этот цветок, как и задумывалось, а не одной сиротке x86.

В ИТ всегда побеждает самое худшее решение из имеющихся, да. «План горит».

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

109. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –1 +/
Сообщение от Аноним (109), 06-Ноя-18, 15:53 
zswap или zram может отчасти решить проблему
Ответить | Правка | ^ к родителю #97 | Наверх | Cообщить модератору

42. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (42), 05-Ноя-18, 07:21 
Программа амулет или оберег.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

47. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Анонимemail (47), 05-Ноя-18, 09:40 
Лол, неужели до кого-то дошло! -__- Хотя хлопанье самого жирного не всегда может быть правильным, по-моему нужно добавить ещё список, которые юзверь разрешает хлопать первыми. Писал такую прогу, когда ещё  не докупил памяти в бук и было 4 гига - она киляла именно хром. Т.к. комп подвисал всегда когда открывал много вкладок в хроме. А потом уже система изредка оттормаживалась и не мог отправить вкладки в OneTab.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

52. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (27), 05-Ноя-18, 10:31 
>добавить ещё список, которые юзверь разрешает хлопать первыми

Есть опция --prefer, можно произвольный regex задать для имён процессов

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

55. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (50), 05-Ноя-18, 10:38 
> она киляла именно хром

…, потом удаляла хромой пакет и вызывала специально обученных людей для выдачи живительных люлей недоюзверю, юзающему ЭТО вместо браузера.

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

57. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (57), 05-Ноя-18, 10:44 
> завершит работу процесса, наиболее активно потребляющего память

Охренеть политика... Убивается активно работающее приложение, которое после скоропостижной кончины оставит на диске хз что. Почему-то винда ещё в давние лохматые годы просто уведомляла юзера "чувак, я тебе свопа добавила", и можно было работать. А эти гении программирования в 2018 году изощряются в способах проактивного убийства процессов.

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

61. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от пох (?), 05-Ноя-18, 10:53 
> Почему-то винда ещё в давние лохматые годы просто уведомляла юзера "чувак, я тебе свопа
> добавила", и можно было работать.

потому что в тех случаях, когда там "можно было работать", в линуксе своп даже не начинался.
В виду разной модели выделения памяти. И да, тогда это считали достижением.

А когда по ctrl-alt-del пол-часа десктоп построчно перерисовывается на пустое место, а process manager так и не всплывает (или нельзя даже переключиться на уже открытый) - результат был в общем примерно тот же что у линуксов - семь бед, один ресет.

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

62. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +1 +/
Сообщение от Аноним (62), 05-Ноя-18, 11:25 
>Охренеть политика... Убивается активно работающее приложение

Не убивается, а корректно завершается через SIGTERM

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

65. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (33), 05-Ноя-18, 11:51 
А чем вот это "свопа добавило" полезно в современных реалиях? Программисты привыкли работать с памятью так, будто её анлим, и возможность своппинга фактически игнорируют. В итоге при своппинге на HDD всё тупит так, что его в любом случае приходится отключать, а своп на SSD как-то нелеп ввиду ограниченности циклов ячеек.

А вот убийство самого жрущего процесса как раз сравнительно безопасно: в серверном софте и память обычно не течет - всё вылизано, и спонтанное убийство он нормально переживает, а уж, тем более, по SIGTERM. Браузер восстановит сессию, ничего страшного. А проблемы самописного софта, в котором течет память - это проблемы его разработчиков.

Может, конечно, неловко получиться, когда условный фотошоп в вайне ест 3 гига из 4, и тут, внезапно, браузер съедает оставшийся гиг, но киляется как раз фотошоп. Но всякий такой софт просто добавляется в --avoid.

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

66. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (33), 05-Ноя-18, 11:54 
Ну и да, учитывая, что альтернатива - перезагрузка по трём кнопкам, даже убийство фотошопа в такой ситуации не фатально. Да и он, кажется, в актуальных версиях умеет восстанавливаться после спонтанного вылета.
Ответить | Правка | ^ к родителю #65 | Наверх | Cообщить модератору

74. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (74), 05-Ноя-18, 15:27 
> Программисты привыкли работать с памятью так, будто её анлим

Розгами за это надо пороть. Так, чтобы неделю сесть за клавиатуру не могли.

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

98. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от пох (?), 05-Ноя-18, 22:06 
а что по-твоему современный программист может сделать?
"проверять malloc на null"? Так это показатель некомпетентности.

Можно еще вручную померять доступную память - так делали ранние версии videolan x264 - к сожалению, они не умели отличать реальную от свопа, с интересным результатом ;-)

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

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

110. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (33), 06-Ноя-18, 17:30 
эмммм. мы 50+ лет развиваем IT, но до сих пор не можем сделать так, чтобы программа знала, сколько физически памяти в машине, на которой она работает?

нда, абстракции абстракций абстракций это круто, конечно. с таким подходом только со всякими костылями типа earlyoom и можно жить.

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

114. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от пох (?), 06-Ноя-18, 20:12 
> эмммм. мы 50+ лет развиваем IT, но до сих пор не можем сделать так, чтобы программа знала,
> сколько физически памяти в машине, на которой она работает?

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

нет. в позикс-стандартах (даже, наверное, самых наираспоследних, в которые понапихана масса всякого бреда), во всяком случае, такого не было предусмотрено.

К тому же память бывает разная - вон там товарисч, считающий себя очень умным, продемонстрировал некий код для некоей bsd. Но вряд ли он вам сможет объяснить, какую именно память пытается получить этот код. И что, кстати, нужно делать, если ее нет.
Применительно к той же freebsd: у нас есть 1. inactive 2. wired 3. Buf который есть часть этого wired и 4. еще у нас есть zfs arc  - и вот какую часть из этого зоопарка вы считаете "свободной", и с какого, собственно, бодуна именно ее?
А теперь добавим к ним еще zfs abd, захваченные но незанятые сетевым стеком mbufs (на 10G там могут лежать _гигабайты_ памяти - которая в данный момент никак не используется) и кучу всякой другой хрени, о которой я просто не имею несчастья знать, которую и посмотреть-то толком хрен его знает, как.

И как тут определять, что есть свободная память в принципе, и чего дальше-то делать с этим знанием?


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

124. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –1 +/
Сообщение от Аноним (33), 07-Ноя-18, 12:35 
Изумительной концепции виртуальной памяти, отучившей программистов думать, и надо говорить спасибо за все тормоза, не объясняющиеся запланированным устареванием, если на то пошло.

А как торрент-клиенты определяют скорость соединения и ограничивает скачивание при забитом канале, чтоб другим не мешать? Даже никаких специальных API на уровне ОС не понадобилось.

Так и здесь никто не мешает сделать: выделение памяти идёт дольше обычного? Память забита, пошла фрагментация, хватит жрать память. Обращение к выделенной памяти даёт заметную тупку? Мы загремели в своп, и снова хватит жрать память. На каждое обращение к памяти такие проверки - долго? Да можно и не на каждое, отдельная проверялка отзывчивости памяти в отдельном потоке раз в N ms.

Нет возможности перестать жрать? Сохраняем состояние на винт и завершаем работу корректно.

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

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

126. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от КГБ СССР (?), 07-Ноя-18, 17:43 
Всё правильно, анон. Действия по упрощению жизни программистов приводят, как правило, к ухудшению получаемой от них готовой продукции.
Ответить | Правка | ^ к родителю #124 | Наверх | Cообщить модератору

113. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от тот самый аноним (?), 06-Ноя-18, 18:22 
> а что по-твоему современный программист может сделать?
> "проверять malloc на null"? Так это показатель некомпетентности.

О, опять пошли байки о вездесущности overcommit и "современный malloc никогда не возвратит 0"?


# rctl -h
user:restricted:vmemoryuse:deny=1024M/process
user:restricted:memoryuse:deny=512M/process
user:restricted:swapuse:deny=1024M
% uname -rs;whoami && cat test.c && ./test|tail
FreeBSD 11.2-STABLE
restricted
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>

#define MB (1024*1024)
#define PSIZE 4096
int main(void){
    size_t sum = 0;
    char *ptr;
    for (size_t i=0;;i++) {
        if ((ptr = malloc(MB)) == NULL) {
            perror("Err:");
            exit(EXIT_FAILURE);
        }
        for (size_t j = 0;j < (MB-PSIZE-1); j += PSIZE) ptr[j] = 0;
        sum += MB;
        printf("allocated: %zu MB\n", sum/MB);
    }
    return EXIT_SUCCESS;
}
allocated: 497 MB
allocated: 498 MB
allocated: 499 MB
allocated: 500 MB
allocated: 501 MB
allocated: 502 MB
allocated: 503 MB
allocated: 504 MB
allocated: 505 MB
allocated: 506 MB
Err:: Cannot allocate memory


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

117. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от пох (?), 06-Ноя-18, 20:33 
>> а что по-твоему современный программист может сделать?
>> "проверять malloc на null"? Так это показатель некомпетентности.
> О, опять пошли байки о вездесущности overcommit и "современный malloc никогда не
> возвратит 0"?

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

> # rctl -h

rctl: RACCT/RCTL support not present in kernel; see rctl(8) for details

то есть ты сам себе разложил отдельное от проблемы оверкомита поле уникальных грабель, и все-все разработчики под тебя, талантище, должны подстраиваться?

rctl предназначен для совершенно другой ситуации - когда на машине заведомый oversubscription, но на проблемы что чему-то не хватит памяти, админу наплевать (читай, массовый шитхостинг), пока это что-то не его, и можно ее урезать всем гораздо ниже физических лимитов.

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

120. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от тот самый аноним (?), 06-Ноя-18, 21:25 
> Ну так пусть сам и проверяет, нечего терять производительность
> - у нормальных людей эти проверки даром будут жрать cpu.

Ну да, лучше пусть словит sigsegv при обращении, потому что третье приложение на электроне за это время выжрало всю оставшуюся память.
Зато целый jnz short после жирного вызова malloc сэкономили. Профит, че.


> rctl: RACCT/RCTL support not present in kernel; see rctl(8) for details
> то есть ты сам себе разложил отдельное от проблемы оверкомита поле уникальных грабель, и все-все разработчики под тебя, талантище, должны подстраиваться?

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

> rctl предназначен для совершенно другой ситуации - когда на машине заведомый oversubscription,
> но на проблемы что чему-то не хватит памяти, админу наплевать (читай,
> массовый шитхостинг), пока это что-то не его, и можно ее урезать всем гораздо ниже физических лимитов.

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


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

122. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от пох (?), 06-Ноя-18, 21:47 
>> Ну так пусть сам и проверяет, нечего терять производительность
>> - у нормальных людей эти проверки даром будут жрать cpu.
> Ну да, лучше пусть словит sigsegv при обращении, потому что третье приложение

ну словит, результат ровно тот же - ты пойдешь искать дополнительную планку.

> на электроне за это время выжрало всю оставшуюся память.

то есть ты еще и неправильно настроил свой распрекрасный rctl, но виноват опять автор программы, которой памяти не хватило ?

> Зато целый jnz short после жирного вызова malloc сэкономили. Профит, че.

в цикле этак с 10000 итераций, например.

Я тут пытался уговорить разработчиков одной _очень_ известной софтины (очень чувствительной к подобным вещам) на проверку указателей хотя бы в тех случаях, когда там _может_ оказаться null (то есть не malloc, а неправильный набор параметров передан) - получил в ответ "знаешь, он там оказываться не должен, так что лучше мы в этом случае просто функцию вызывать не будем- это в любом случае вредный вызов". И не добавили. Там примерно сотни три таких проверок в теле рекурсивно-вызываемой функции и надо-то, причем срабатывает из этих трех сотен - с десяток максимум в одной итерации (сколько их вообще может быть - не до конца понимаю, вроде и немного).

> Сам придумал, сам оспорил. Удобно, да.
> Лады, контейнеры не нужны! Жили без этого тысячи лет, значит и дальше

контейнеры в том виде, в котором нам их принес доцкер - не, не нужны.

контейнеры в виде jail - нужны для запуска untrusted кода, но это вовсе не означает что в них должен запускаться скачанный без регистрации и sms - у меня таким кодом, к примеру, являлся bind и syslog.

А вот чего такое я хотел бы запускать с дубово-ограниченным размером rss - что-то и придумать не могу. Особенно учитывая сколько сил как раз на платформе freebsd потрачено чтобы память задачам хоть иногда отдавалась.

> Оversubscription будет на любой не самой новой машине с ОЗУ < 9000гигз,
> особенно мобильной, если запустить кроме браузера еще что-то жручее. Ну или

если это жручее не жалко обломить о жесткие лимиты - то зачем, прости, ты его запускал?

> просто долго не закрывать браузер.

      20   0 619m 1279m  70m R     91 20.6 493:27.89 palemoon
достаточно долго?

> А, да, я ж забыл, что у кое-кого на десктопе десяточка. Прошу

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

> звиняний, вопросы снимаются.

да, у божественной десяточки совсем нет проблемы "выбегает на сцену oom и бросает в зрительный зал гранату". Заметим, без всяких искусственных ограничителей и ненужно-контейнеров там, где они действительно не нужны совсем.

у нее есть другие проблемы, но ей простительно.

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

123. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от тот самый аноним (?), 07-Ноя-18, 00:13 
>> на электроне за это время выжрало всю оставшуюся память.
> то есть ты еще и неправильно настроил свой распрекрасный rctl, но виноват
> опять автор программы, которой памяти не хватило ?

Причем тут rctl? Можешь передергивать не так явно?

>> Зато целый jnz short после жирного вызова malloc сэкономили. Профит, че.
> в цикле этак с 10000 итераций, например.

Какой-какой "например"?
Вызов в цикле 10000 раз malloc? Так и тут дополнительный jnz особой погоды не сделает. Или вы собрались на всякий случай в цикле 10000 раз проверить, не ноль ли вернул вам вызов malloc?


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

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

82. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от КГБ СССР (?), 05-Ноя-18, 16:10 
> Программисты привыкли работать с памятью так, будто её анлим,

Таких программистов сжигать в биореакторе и отлучать от профессии навсегда без права обжалования.


> А вот убийство самого жрущего процесса как раз сравнительно безопасно: в серверном
> софте и память обычно не течет - всё вылизано, и спонтанное
> убийство он нормально переживает, а уж, тем более, по SIGTERM. Браузер
> восстановит сессию, ничего страшного.

В серверном софте другие настройки ведра и планировщика. Но, впрочем, это одна из причин выбирать себе на десктоп и ноут серверные редакции ОС.


> А проблемы самописного софта, в котором течет память - это проблемы его разработчиков.

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

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

91. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (33), 05-Ноя-18, 19:30 
Юзерам, в свою очередь, плевать, будет ли сожравший всю память и отказавшийся вовремя корректно завершиться по SIGTERM говнокод убит перезагрузкой системы или по SIGKILL.

Говнокод это объективная реальность, данная нам в ощущениях, и, поскольку не во всех случаях можно перейти на отлично-код или написать отлично-код самому, приходится как-то жить с этим явлением. Например, убивать и автоматически перезапускать каким-нибудь systemd этот говнокод до того, как он  положит систему и в итоге будет всё равно убит при перезагрузке.

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

93. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от КГБ СССР (?), 05-Ноя-18, 19:53 
> Юзерам, в свою очередь, плевать, будет ли сожравший всю память и отказавшийся
> вовремя корректно завершиться по SIGTERM говнокод убит перезагрузкой системы или по
> SIGKILL.
> Говнокод это объективная реальность, данная нам в ощущениях, и, поскольку не во
> всех случаях можно перейти на отлично-код или написать отлично-код самому, приходится
> как-то жить с этим явлением. Например, убивать и автоматически перезапускать каким-нибудь
> systemd этот говнокод до того, как он  положит систему и
> в итоге будет всё равно убит при перезагрузке.

Кому как. Я не могу с этим сжиться. Седьмая Шапка — это уже _не_ юникс, а какой-то SystemdOS. Причём они это, похоже, понимают и сами и в мануалах пишут (см. напр. man init, ага). Пока оно работает, как настроили индусы в Редхате, всё ещё терпимо. Если что-то ломается, то седьмое поколение RHEL и его производных невозможно внятно администрировать по понятиям адекватного юникса. О написании каких-то своих полезных скриптов с учётом концептуального идиотизма системды — даже говорить неохота.

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

79. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +2 +/
Сообщение от ыы (?), 05-Ноя-18, 15:58 
а у админа не наступит попоболь когда этот алгоритм будет убивать 1С рассчитывающую зарплату?
На мой взгляд - сама идея убивать приложение активно использующее ресурсы-
-  порождение фантазии человека с запущенной формой деменции
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

80. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от ыы (?), 05-Ноя-18, 16:00 
вообще говоря операционная система не должна была дать приложению столько ресурсов чтобы оно повредило общей работе сервера... так что это проблема ОС скорее, что некое приложение откушало у нее все... или оно в нулевом круге крутится?
Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

83. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от КГБ СССР (?), 05-Ноя-18, 16:13 
> вообще говоря операционная система не должна была дать приложению столько ресурсов чтобы
> оно повредило общей работе сервера... так что это проблема ОС скорее,
> что некое приложение откушало у нее все... или оно в нулевом
> круге крутится?

Как много хороших, годных вопросов для одного абзаца!

Про ответы надо спросить у Торвальдса лично и заодно у Красной Шапки: как правильно настраивать ведро.

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

106. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (106), 06-Ноя-18, 09:29 
1Су всё можно. Спроси у любого бухгалтера!
Ответить | Правка | ^ к родителю #80 | Наверх | Cообщить модератору

92. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  –1 +/
Сообщение от Аноним (33), 05-Ноя-18, 19:33 
А 1C не умеет во всякие там транзакции, которые в СУБД изобрели специально для того, чтобы на спонтанные перезапуски было пофигу? Лучше живой сервак с бесконечно перезапускаемой на слишком жрущей операции базой (сигнал довыделить памяти, оукей), чем мёртвый сервак, до которого удаленно достучаться и выяснить причину проблем вообще не получается.
Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

95. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от RNZ (ok), 05-Ноя-18, 21:29 
Приложение это хорошо, но пока обходился вот такой настройкой
vm.overcommit_ratio = 200
vm.overcommit_memory = 2

Делает тоже самое - прибивает процесс когда он слишком зажрался

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

102. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (103), 06-Ноя-18, 05:08 
Чем оно лучше, нежели нажатие Alt-SysRq-F при признаках исчерпания памяти?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

111. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (27), 06-Ноя-18, 17:39 
>Alt-SysRq-F

Может не сработать вообще, и у этой комбинации нет настроек. Эта комбинация не использует SIGTERM и не срабатывает автоматически когда надо.

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

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

121. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +1 +/
Сообщение от пох (?), 06-Ноя-18, 21:29 
> А вот например, на нашем предприятии запрещено говорить, что компьютеры слабые, или
> не хватает памяти. И этот демон будет вне закона :))

дайте угадаю - ваше предприятие - изготовитель союза с дыркой-замазанной-соплями и ракеты-носителя которая развалилась после старта?

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

105. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Anonumous (?), 06-Ноя-18, 08:53 
>  не доводя состояние системы до очистки системных буферов и мешающего работе своппинга

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

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

118. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от пох (?), 06-Ноя-18, 20:37 
> Тем более у многих swap на SSD, а то

серьезно, есть и такие феерические долбое6ы?

> и на Optain накопителях. так что вытеснить что либо в swap
> спасая при этом дисковые буферы выглядит не так уж глупо.

чудовищно глупо.
Вам нужна файловая система с промежуточным кэшем на этом ssd, раз уж у вас настолько медленное основное хранилище, а не переписывать активные задачи туда.
Для неактивных это и так происходит - но не при memory pressure, а в idle time.

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

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

128. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (33), 09-Ноя-18, 06:02 
-s 100,100
Ответить | Правка | ^ к родителю #125 | Наверх | Cообщить модератору

127. "Выпуск earlyoom 1.2, процесса для раннего реагирования на не..."  +/
Сообщение от Аноним (49), 07-Ноя-18, 22:22 
Системд же есть
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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




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

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