Nginx worker 100% CPU: SIGALRM/rt_sigreturn loop

Maxim Dounin mdounin at mdounin.ru
Thu Dec 26 13:00:07 UTC 2013


Hello!

On Thu, Dec 26, 2013 at 04:50:13PM +0400, Батогов Евгений wrote:

> ./nginx -V
> nginx version: nginx/1.4.2
> built by gcc 4.1.2 20080704 (Red Hat 4.1.2-54)
> TLS SNI support disabled
> configure arguments: --user=nginx --group=nginx --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx --with-http_secure_link_module --with-http_random_index_module --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_perl_module --with-http_xslt_module --with-debug --with-mail --with-mail_ssl_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --with-ipv6 --add-module=/root/rpmbuild/BUILD/nginx-1.4.2/nginx-upstream-fair --add-module=/root/rpmbuild/BUILD/nginx-1.4.2/nginx-upload-progress-module --add-module=/root/rpmbuild/BUILD/nginx-1.4.2/mod_zip --add-module=/root/rpmbuild/BUILD/nginx-1.4.2/nginx_mod_h264_streaming --add-module=/root/rpmbuild/BUILD/nginx-1.4.2/nginx-push-stream-module --add-module=/root/rpmbuild/BUILD/nginx-1.4.2/nginx_upstream_hash --add-module=/root/rpmbuild/BUILD/nginx-1.4.2/nginx-memcached-hash-pass --add-module=/root/rpmbuild/BUILD/nginx-1.4.2/echo-nginx-module --add-module=/root/rpmbuild/BUILD/nginx-1.4.2/ngx_http_gunzip_filter_module --add-module=/root/rpmbuild/BUILD/nginx-1.4.2/headers-more-nginx-module --add-module=/root/rpmbuild/BUILD/nginx-1.4.2/nginx-rewrite-request-body-module
> 
> Воркер пришлось прибить к сожалению.

При таком количестве сторонних модулей - в любом случае первую 
очередь имеет смысл попробовать воспроизвести проблему без них.

> 
> 
> В письме от 26 декабря 2013 16:39:45 пользователь Maxim Dounin написал:
> > Hello!
> > 
> > On Thu, Dec 26, 2013 at 11:28:56AM +0400, Батогов Евгений wrote:
> > 
> > > Привет всем.
> > > 
> > > У нас подвисает nginx worker и потребляет 100% СPU.
> > > stace показывает следующее:
> > > ...
> > > rt_sigreturn(0xe)                       = 2
> > > --- SIGALRM (Alarm clock) @ 0 (0) ---
> > > rt_sigreturn(0xe)                       = 165986344
> > > --- SIGALRM (Alarm clock) @ 0 (0) ---
> > 
> > [...]
> > 
> > > В чём может быть причина?
> > 
> > Причина может быть чуть менее, чем в чём угодно. SIGALARM - скорее 
> > всего не имеет отношения к проблеме, он используется для 
> > обновления времени, если в конфиге используется директива 
> > timer_resolution.
> > 
> > Что показывает nginx -V, что в конфиге, что в логах, где крутится 
> > код ("gdb /path/to/nginx <pid>" и далее походить)?
> > 
> > Ну и на всякий случай я оставлю эту ссылку здесь:
> > 
> > http://wiki.nginx.org/Debugging
> > 
> > 
> 
> -- 
> Best Regards, Eugene Batogov
> _______________________________________
> Software Architect
> СTI - Communications. Technology. Innovations.
> Tel: +7 (495) 784-73-13 * 2551
> Fax: +7 (495) 784-73-14
> e-mail: e.batogov at cti.ru
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

-- 
Maxim Dounin
http://nginx.org/



Подробная информация о списке рассылки nginx-ru