FastNetMon

Showing posts with label OOM killer. Show all posts
Showing posts with label OOM killer. Show all posts

Thursday, 11 November 2010

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

Вот такой вот опцией ядра, установив ее в единицу:
cat /proc/sys/vm/oom_kill_allocating_task

Подробнее:
/proc/sys/vm/oom_kill_allocating_task (since Linux 2.6.24)
This enables or disables killing the OOM-triggering task in out-of-
memory situations.

If this is set to zero, the OOM-killer will scan through the entire
tasklist and select a task based on heuristics to kill. This normally
selects a rogue memory-hogging task that frees up a large amount of
memory when killed.

If this is set to nonzero, the OOM-killer simply kills the task that
triggered the out-of-memory condition. This avoids a possibly
expensive tasklist scan.

If /proc/sys/vm/panic_on_oom is nonzero, it takes precedence over
whatever value is used in /proc/sys/vm/oom_kill_allocating_task.

The default value is 0.

Для sysctl.conf это будет строчка:
vm.oom_kill_allocating_task = 1

Sunday, 18 April 2010

sshd[*]: error writing /proc/self/oom_adj: Operation not permitted

И таких записей на OpenVZ VPS куча в логе: /var/log/auth.log

Что это и зачем?

Эта ошибка связана с тем, что SSH корректирует работу механизма ядра Linux называемого OOM killer. Этот механизм призван любыми средствами сохранять работоспособность системы в случае исчерпанная памяти. Когда память кончается, он по довольно сложному алгоритму ищет ненужный, на его взгляд процесс, и убивает его. К сожалению, под действие этого механизма может попасть и процесс SSH сервера, что крайне нежелательно. Поэтому демон SSH передает ядру команду, чтобы его не убивало OOM killer ом в случае недостатка памяти (если быть точным, то его тоже убьет, но самым самым последним).

На VPS же этот механизм не работает по причине, что OpenVZ не дает доступ к файловой системе /proc, которая как раз и используется для управления OOM Killerом. Поэтому, данные записи в логах являются нормальным явлением на VPS и Вам не стоит о них беспокоиться.

А вот бы такой патчик пропихнуть в OpenVZ апстрим....

Thursday, 24 December 2009

Очень круто про OOM-killer

http://catap.ru/blog/2009/05/03/about-memory-oom-killer/
Давно хочу сделать подобную серию статей плана "как это работает", ибо понимание внутренностей механизма позволяет намного эффективнее использовать софт :)