Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Nginx reload, выедает CPU
Hello!
On Tue, Aug 27, 2013 at 05:35:22PM +0300, Serge Negodyuck wrote:
> Как только я посылаю nginx сигнал HUP (или nginx -s reload), процессы
> в состоянии "nginx: worker process is shutting down (nginx)" начинают
> кушать весь доступный процессор.
>
> Если подсоединиться к такому процессу отладчиком:
> (gdb) bt
> #0 0x0000000801656d5c in kevent () from /lib/libc.so.7
> #1 0x00000000004370c0 in ngx_kqueue_process_events (cycle=0x801cf5050,
> timer=18446744073709551615, flags=0) at
> src/event/modules/ngx_kqueue_module.c:537
Судя по backtrace'у, nginx честно ждёт новых собитий в ядре.
Возможно, "кушать процессор" - это побочный эффект от нехватки
ресурсов из-за большого количества завершающихся процессов?
Имеет смысл либо походить по коду в gdb, либо посмотреть на
картину с помощью ktrace + kdump -T. Ну и на банальный top тоже
имеет смысл посмотреть внимательно.
Note: рабочие процессы завершаются только тогда, когда закончена
обработка всех запросов. Соответственно долгоживующие запросы a
la проксирование websocket'ов - могут долго препятствовать
завершению рабочих процессов, тем самым приводя к их накоплению.
--
Maxim Dounin
http://nginx.org/en/donation.html
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|