ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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


 




Copyright © Lexa Software, 1996-2009.