<br><br><div class="gmail_quote">2010/11/7 Alex Vorona <span dir="ltr">&lt;<a href="mailto:voron@amhost.net">voron@amhost.net</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">07.11.2010 13:44, Gena Makhomed wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 07.11.2010 13:02, paranoidchaos wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
* soft nofile 5120<br>
* hard nofile 10240<br>
<br>
всё нормально срабатывает при рестарте<br>
и энджи видит их<br>
</blockquote>
<br>
* - это изменение дефолтового значения. но это не нормально.<br>
<br>
нормально будет, если изменять лимиты через worker_rlimit_nofile.<br>
<br>
<a href="http://sysoev.ru/nginx/docs/ngx_core_module.html#worker_rlimit_nofile" target="_blank">http://sysoev.ru/nginx/docs/ngx_core_module.html#worker_rlimit_nofile</a><br>
<br>
</blockquote></div>
worker_rlimit_nofile работает, пока число открытых файлов при configtest не превышает 1024. Потом - только увеличение лимита снаружи nginx.</blockquote><div>nginx вызывает  setrlimit при инициализации worker до вызова setuid. Т.е. если root позволено повышение лимитов, то для воркеров будет увеличина таблица файлов (src/os/unix/ngx_process_cycle.c)</div>
<div>bash (когда вызывается ulimit -n number) делает всё тотже setrlimit (легко проверить через strace strace -f bash -c &quot;ulimit -n 2048&quot; )</div><div>Таким образом видно, что эта директива меняет размер таблицы дескрипторов для всех дочерних процессов созданных после sighup (если не хочется рестартовать) или после рестарта.</div>
</div>