LINUX.ORG.RU

Время убивать

 , , , ,


6

8

Второй раз за месяц расслабил булки и не заметил утечку оперативной памяти. Система наглухо зависла, сожрав все 16 гб (свапа нет). В консоль не пустили. В последнем эпизоде виноват был Picard, который на обработке коллекции Вивальди сходит с ума и может жрать всю память в одно рыло. У меня только один вопрос, почему OOM Killer не сработал и не прибил эту заразу, если размер виртуальной памяти является основным триггером для него? И что нужно сделать, чтобы убивать подобную жирноту автоматом?

День второй. Поставил zram на половину памяти, vm.oom_kill_allocating_task=1, swappiness=100. Пикард на коллекции Бетховена ставит систему раком. Память жмется хорошо, но киллер не приходит.

День третий. Добавил дисковый свап 2 гб на ssd. Повторил эксперимент. Отзывчивость системы была нормальной даже когда кончился zram и начал заполняться ssd swap, но когда и он кончился, системе закономерно пришел песец. То есть опять песец пришел, а киллер не пришел.

★★★★★

Последнее исправление: Lordwind (всего исправлений: 4)
Ответ на: комментарий от Harald

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

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

открываешь правым кликом «мой компьютер», настройки виртуальной памяти, и там 3 варианта радиобаттона, среди которых «не использовать своп»

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

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

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

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

anonymous
()

Яж создавал тему по этому поводу недавно Как слелать ваш браузер не съедать всю оперативку (делимся лайфхаками) (там тоже полно верющих что 2гб хватит всем)

создай cgroup (в моей теме есть пример) размера в 80% оперативки и запускай все через него, оперативка никогда не кончится и отзывчивость всегда будет (тащу раз у меня уже тек браузер в cgroup спокойно убивался 0 лагов)

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

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

vaddd ★☆
()
Ответ на: комментарий от next_time

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

Harald ★★★★★
()

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

Иногда OOM прилетает незаметно и тогда не очень хорошо всё, это смотря как софт собран и работает. Вот браузеры не ставят раком ничего (жирнолис тоже).

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

Ещё не стоит забывать что ядро от релиза к релизу имеет новые приколы с IO и видимо меняются приоритеты обработки очередей в ядре.

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

Тогда, в XP, всегда удалял своп. Ибо так получилось, что памяти было завались (то ли 256, то ли 512, короче мать была фул забита). А сейчас 20GB уходит как в песок... Вот времена

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

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

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