<style type="text/css">p, li { white-space: pre-wrap; }</style>
<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">Привет всем.</span></p>
<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">Вчера случилось следующая проблема.</span></p>
<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">Есть nginx, memcached и jboss.</span></p>
<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">Поставили comet.</span></p>
<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">Все лимиты установлены правильно.</span></p>
<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">После достижения 50000 соединений ядро Linux неожиданно</span></p>
<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">убило без суда и следствия memcached и jboss.</span></p>
<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">Ни логов, ничего нет.</span></p>
<p style="margin: 0px; text-indent: 0px; font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;"></p>
<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">Позже выяснилось, что это OOM Killer.</span></p>
<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">Памяти на сервере 8Гб.</span></p>
<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">Её было достаточно, + целый swap не использовался.</span></p>
<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">------------</span></p>
<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">Почитал тут о OOM killer: <a href="http://catap.ru/blog/2009/05/03/about-memory-oom-killer/">http://catap.ru/blog/2009/05/03/about-memory-oom-killer/</a></span></p>

<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">есть следующие настройки ядра для этого:</span></p>
<ul style="margin: 0px;"><li style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">самый простой способ повлиять на OOM Killer &mdash; использовать <a href="http://catap.ru/blog/2009/05/05/about-memory-overcommit-memory/"><span style="text-decoration: underline; color: rgb(0, 0, 143);">vm.overcommit_memory</span></a>;</li>
</ul>
<p style="margin: 12px 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">    У нас по умолчанию стоят:</span></p>
<p style="margin: 12px 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">     - /proc/sys/vm/overcommit_memory  - 0</span></p>
<p style="margin: 12px 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">     - /proc/sys/vm/overcommit_ratio - 50</span></p>
<ul style="margin: 0px;"><li style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;"><span style="font-family: &#39;Courier New,courier&#39;;">vm.oom_dump_tasks</span> &mdash; делать dump всех процессов за исключением kernel threads, в dump попадает pid, uid, tgid, vm size, rss, cpu и oom_adj. Имеет смысл включать только для отладки OOM&nbsp;Killer;</li>
<li style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;"><span style="font-family: &#39;Courier New,courier&#39;;">vm.oom_kill_allocating_task</span> &mdash; убивать процесс, процесс которому не хватило памяти, без выбора самого&nbsp;плохого;</li>
<li style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;"><span style="font-family: &#39;Courier New,courier&#39;;">vm.panic_on_oom</span> &mdash; считать запуск OOM критической&nbsp;ошибкой.</li></ul>
<p style="margin: 0px; text-indent: 0px; font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;"></p>
<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">У кого какие параметры стоят?</span></p>
<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">Кто что порекоммендует? Как избежать внезапных падений из-за большого количества открытых соединений?<br>-- </span></p>

<p style="margin: 0px; text-indent: 0px;"><span style="font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;">Best Regards, Eugene Batogov</span></p>
<p style="margin: 0px; text-indent: 0px; font-family: &#39;Droid Sans Mono&#39;; font-size: 10pt;"></p><br>