Master процесс nginx 0.6.38 съедает всю доступную память

Igor Sysoev is at rambler-co.ru
Fri Sep 11 11:38:20 MSD 2009


On Fri, Sep 11, 2009 at 12:20:56PM +0500, Одинцов Павел wrote:

> Добрый день!
> 
> Воркеры не растут:
> nrg      14589  0.0  0.0  61168   760 pts/2    S+   10:00   0:00 grep nginx
> root     28854  1.5 66.6 11186184 8193132 ?    Ds   Sep10  30:01
> nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
> nginx    30389  0.1  0.2  61720 36708 ?        D    00:30   0:53
> nginx: worker process
> 
> strace делали в момент зависания:
> 
> strace -p 7718
> Process 7718 attached - interrupt to quit
> rt_sigsuspend(
> 
> и более ничего.
> 
> При этом в логах пару раз (но далеко не при всех случаях выедания
> памяти) проскакивало: 2009/08/24 19:46:30 [emerg] 12315#0: malloc() 10
> 737 418 240 bytes failed (12: Cannot allocate memory)

А можно оставить strace с самого старта, чтобы посмотреть, что там
происходит в процессе набирания памяти ?

Что показывает
ldd /usr/sbin/nginx
?

> 2009/9/11 Igor Sysoev <is at rambler-co.ru>:
> > On Fri, Sep 11, 2009 at 11:38:23AM +0500, Одинцов Павел wrote:
> >
> >> Добрый день!
> >>
> >> К сожалению нет, не он :(
> >>
> >> Пересобрали в максимально легкой конфигурации:
> >>
> >>  /usr/sbin/nginx -V
> >> nginx version: nginx/0.6.38
> >> built by gcc 4.1.2 20080704 (Red Hat 4.1.2-44)
> >> 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_realip_module
> >>  --with-http_stub_status_module
> >>
> >>  --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
> >> -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
> >> -mtune=generic'
> >>
> >> Но всё равно только что повис с 12 гб памяти, съеденными мастером;
> >> оставалась последняя надежда, что stub_status память как-то выедает,
> >> но судя по коду src/http/modules/ngx_http_stub_status_module.c выедать
> >> её ему негде :(
> >
> > Можно сделать truss или strace для мастер-процесса ?
> > Правильно ли я понимаю, что воркеры при этом не растут ?
> >
> >
> > --
> > Igor Sysoev
> > http://sysoev.ru/en/
> >
> >
> 
> 
> 
> -- 
> С уважением, Одинцов Павел

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





More information about the nginx-ru mailing list