master_file_limit

Igor Sysoev igor на sysoev.ru
Вт Фев 23 13:06:11 MSK 2010


On Tue, Feb 23, 2010 at 01:54:32AM +0300, Kirill A. Korinskiy wrote:

> At Mon, 22 Feb 2010 16:27:51 +0200,
> Alex Vorona <voron at amhost.net> wrote:
> > 
> > 21.02.2010 23:56, Igor Sysoev wrote:
> > > On Mon, Feb 22, 2010 at 12:24:56AM +0300, Kirill A. Korinskiy wrote:
> > > 
> > >> At Sun, 21 Feb 2010 14:03:07 +0200,
> > >> Alex Vorona <voron at amhost.net> wrote:
> > >>> Привет,
> > >>>
> > >>> При попытке релоада nginx'а с конфигурацией, которая содержит > 1024 файлов(> 500 доменов, 
> > >>> по 2 лога на домен), nginx не релоадится с ошибкой
> > >>> 2010/02/21 12:42:42 [emerg] 17723#0: open() "/var/log/nginx/www.domain.com.error.log" 
> > >>> failed (24: Too many open files)
> > >> дык, он просто выставляет rlimit после того как прочел конфиг, а т.к. ошибка происходит на
> > >> этапе чтения конфига, получаешь что получаешь. В случае reload у тебя уже есть
> > >> стотыщмильонов файловых дискрипторов, вот он и перечитывает их.
> > >>
> > >> Игорь, а зачем было вообще делать rlimit? зачем дублировать ручку системы?
> > > 
> > > Появление worker_rlimit_... связано с рядом причин:
> > Я правильно понимаю, что master_rlimit_... не предвидится и стОит довольствоваться 
> > системными ручками для поднятия лимитов? Не похоже, что проблема только у меня.
> > 
> 
> увы, но придется немного менять логику обработки конфига для реализации вашей хотелки.
> 
> Если очень сильно хочется, могу вам патчик сделать. Хочется?

Для nofile логику менять не нужно, так как всё лог-файлы всё равно открываются
после обработки всей конфигурации.


-- 
Игорь Сысоев
http://sysoev.ru



Подробная информация о списке рассылки nginx-ru