Переполнение логов

Igor Sysoev is at rambler-co.ru
Wed May 21 14:05:54 MSD 2008


On Tue, May 20, 2008 at 02:48:57PM +0400, Volkov Oleg wrote:

> В сообщении от Tuesday 20 May 2008 12:46:52 Igor Sysoev написал(а):
> > On Tue, May 20, 2008 at 12:32:43PM +0400, Volkov Oleg wrote:
> > > Сегодня nginx переполнил мне весь /var сообщениями в
> > > какой-нибудь-сайт-errors_log :
> > >
> > > 2008/05/20 11:57:07 [alert] 28859#0: accept() failed (24: Too many open
> > > files) while accepting new connection on 0.0.0.0:80
> > >
> > > Соответственно увеличил worker_connections  в 10 раз, пока вроде
> > > нормально. events {
> > >         worker_connections  81920;
> > >         use epoll;
> > > }
> > >
> > > Этого достаточно?
> >
> > Нет. Нужно увеличивать число файлов, выделенных процессу и в целом в
> > системе.
> 
> А в linux это где ? Что-то пока не нашел.
> 
> # cat /proc/sys/fs/file-max 
> 204140
> # cat /proc/sys/fs/file-nr 
> 3584	0	204140
> 
> Число воркеров у меня 20. Если я правильно понимаю - у меня именно внутреннее 
> ограничение worker_connections  сработало.

Если бы не хватало worker_connections, то сообщение было бы

8192 worker_connections is not enough

> И еще, можно сделать чтобы по логам нгинкса было ясно как ограничитель 
> сработал (внутренний или внешний) ?

А тут есть вся информация:
accept() failed (24: Too many open files) - это ошибка, возвращаемая ядром,
потому что в ядре кончились файлы.


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





More information about the nginx-ru mailing list