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 [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
