LINUX.ORG.RU

История изменений

Исправление AngryElf, (текущая версия) :

А причина мутной логики в том, что многие программы/библиотеки берут памяти больше, чем надо

Это я понимаю.

, если всем резервировать всю запрашиваемую ими память, то без swap'а совсем никак.

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

OOM-киллер на сервере бесит тем, что убивает самое жрущее, а не охреневшее приложение. Выглядит это так - база данных, в один процесс, настроена юзать 50% RAM. Апач с динамическим количеством воркеров вдруг начинает плодиться и, например, один из потоков еще начинает течь. В итоге, когда память кончается, приходит OOM-киллер и убивает самое жрущее - базу данных, которая вообще мирно работала и никого не трогала.

Я не уверен, как бы мне тут помог своп. Ну разве что эпичным тупняком вместо убийства лишних. А вот vm.oom_kill_allocating_task - видимо, то что надо.

Исходная версия AngryElf, :

А причина мутной логики в том, что многие программы/библиотеки берут памяти больше, чем надо

Это я понимаю.

, если всем резервировать всю запрашиваемую ими память, то без swap'а совсем никак.

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

OOM-киллер на сервере бесит тем, что убивает самое жрущее, а не охреневшее приложение. Выглядит это так - база данных, в один процесс, настроена юзать 50% RAM. Апач с динамическим количеством воркеров вдруг начинает плодится и, например, один из потоков еще начинает течь. В итоге, когда память кончается, приходит OOM-киллер и убивает самое жрущее - базу данных, которая вообще мирно работала и никого не трогала.

Я не уверен, как бы мне тут помог своп. Ну разве что эпичным тупняком вместо убийства лишних. А вот vm.oom_kill_allocating_task - видимо, то что надо.