2010/11/7 Alex Vorona <voron@amhost.net>
> 07.11.2010 13:44, Gena Makhomed wrote:
>
>> On 07.11.2010 13:02, paranoidchaos wrote:
>>
>> * soft nofile 5120
>>> * hard nofile 10240
>>>
>>> всё нормально срабатывает при рестарте
>>> и энджи видит их
>>>
>>
>> * - это изменение дефолтового значения. но это не нормально.
>>
>> нормально будет, если изменять лимиты через worker_rlimit_nofile.
>>
>> http://sysoev.ru/nginx/docs/ngx_core_module.html#worker_rlimit_nofile
>>
>> worker_rlimit_nofile работает, пока число открытых файлов при configtest
> не превышает 1024. Потом - только увеличение лимита снаружи nginx.
nginx вызывает setrlimit при инициализации worker до вызова setuid. Т.е.
если root позволено повышение лимитов, то для воркеров будет увеличина
таблица файлов (src/os/unix/ngx_process_cycle.c)
bash (когда вызывается ulimit -n number) делает всё тотже setrlimit (легко
проверить через strace strace -f bash -c "ulimit -n 2048" )
Таким образом видно, что эта директива меняет размер таблицы дескрипторов
для всех дочерних процессов созданных после sighup (если не хочется
рестартовать) или после рестарта.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru