Welcome! Log In Create A New Profile

Advanced

nginx & OOM killer & vm.overcommit_memory

January 27, 2011 08:38AM
Привет всем.

Вчера случилось следующая проблема.

Есть nginx, memcached и jboss.

Поставили comet.

Все лимиты установлены правильно.

После достижения 50000 соединений ядро Linux неожиданно

убило без суда и следствия memcached и jboss.

Ни логов, ничего нет.

Позже выяснилось, что это OOM Killer.

Памяти на сервере 8Гб.

Её было достаточно, + целый swap не использовался.

------------

Почитал тут о OOM killer:
http://catap.ru/blog/2009/05/03/about-memory-oom-killer/

есть следующие настройки ядра для этого:

- самый простой способ повлиять на OOM Killer -- использовать
vm.overcommit_memoryhttp://catap.ru/blog/2009/05/05/about-memory-overcommit-memory/
;

У нас по умолчанию стоят:

- /proc/sys/vm/overcommit_memory - 0

- /proc/sys/vm/overcommit_ratio - 50

- vm.oom_dump_tasks -- делать dump всех процессов за исключением kernel
threads, в dump попадает pid, uid, tgid, vm size, rss, cpu и oom_adj. Имеет
смысл включать только для отладки OOM Killer;
- vm.oom_kill_allocating_task -- убивать процесс, процесс которому не
хватило памяти, без выбора самого плохого;
- vm.panic_on_oom -- считать запуск OOM критической ошибкой.

У кого какие параметры стоят?

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

Best Regards, Eugene Batogov
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

nginx & OOM killer & vm.overcommit_memory

JohnBat26 January 27, 2011 08:38AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 153
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready