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

Одинцов Павел pavel.odintsov at googlemail.com
Fri Sep 11 12:05:21 MSD 2009


Добрый день!

strace за всё время работы снимать боязно, сервер под очень большой
нагрузкой, но попробуем что-либо придумать.

по ldd:

ldd /usr/sbin/nginx
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003720400000)
	libpcre.so.0 => /lib64/libpcre.so.0 (0x0000003723c00000)
	libz.so.1 => /usr/lib64/libz.so.1 (0x000000371f800000)
	libc.so.6 => /lib64/libc.so.6 (0x000000371e400000)
	/lib64/ld-linux-x86-64.so.2 (0x000000371e000000)


2009/9/11 Igor Sysoev <is at rambler-co.ru>:
> 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