съедание проца

Igor Sysoev is at rambler-co.ru
Mon Jan 7 12:09:49 MSK 2008


On Fri, Jan 04, 2008 at 12:31:08AM +0500, Nick S. Knutov wrote:

> Hello Igor,
> 
> Thursday, January 3, 2008, 11:24:23 PM, you wrote:
> > Похоже на ошибку в epoll:
> > 2008/01/03 20:38:47 [debug] 25623#0: epoll: fd:11 ev:0001 d:B7550008
> > ...
> > 2008/01/03 20:38:47 [debug] 25623#0: close listening 0.0.0.0:80 #11 
> > ...
> > 2008/01/03 20:38:47 [debug] 25623#0: epoll: stale event B7550008
> 
> > По идее, после закрытия сокета ядро не должно возвращать события.
> > Прилагаемый патч должен помочь.
> > На каких ядрах это стало появляться ?
> 
> Помогло, спасибо.
> Нагрузка подобного характера у меня есть только на одном сервере, там
> 2.6.18-8.1.8.el5.028stab039.1
> На двух предыдущих OpenVZ-шных ядрах было такое же.
> 
> Думаю, что проявляется на всех ядрах, включая 2.6.18-53.el5.028stab051.1
> Кажется там тоже такое пару раз ловил, но там редко когда отдаются
> большие ответы через проксирование к апачу, потому уверенности нету.

Хотелось бы убедиться, что это баг именно системы, а не nginx'а.
К сожалению, предыдущий отладочный лог был не полный, поэтому из него
этог понять было нельзя.

Нужно собрать nginx без патча и запусить с конфигурацией проксирования
одного сайта. После чего запусить ab, и послать nginx'у -HUP.
Если рабочие процессы едят процессор, то повторить то же самое с отладочным
логом.

> ps: в отладочном логе есть вот такое.
> [warn] 28028#0: 2048 worker_connections are more than open file resource limit: 1024
> Почему оно такое? У самой вдс стоит лимит в 16384 открытых файла и
> судя по счетчикам там бывает больше открытых файлов, чем 1024. Это
> nginx неверно определяет предел или есть какое-то дополнительное
> ограничение?

16384  - это на всю VDS. А на процесс внтури VDS - 1024. Можно увеличить
или средствами nginx

worker_rlimit_nofile  8000;

или системы.


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





More information about the nginx-ru mailing list