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

Одинцов Павел pavel.odintsov at googlemail.com
Thu Sep 10 00:53:43 MSD 2009


Добрый вечер!

Не помогло, баг воспроизвелся :( Возник ещё ряд подозрений..

/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:
 --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
 --with-http_perl_module

Может nginx не может сохранять временные файлы? Пермишены на папки следующие:

sudo ls -la /var/lib/nginx/tmp/client_body
total 8
drwx------ 2 nginx root  4096 Sep 10 00:49 .
drwxr-xr-x 5 nginx nginx 4096 Sep  8 14:20 ..

sudo ls -la /var/lib/nginx/tmp/proxy
total 48
drwx------  12 nginx root  4096 Apr 29 07:23 .
drwxr-xr-x   5 nginx nginx 4096 Sep  8 14:20 ..
drwx------ 102 nginx nginx 4096 May 16 19:11 0
drwx------ 102 nginx nginx 4096 May 16 19:11 1
drwx------ 102 nginx nginx 4096 May 16 19:11 2
drwx------ 102 nginx nginx 4096 May 16 19:11 3
drwx------ 102 nginx nginx 4096 May 16 19:11 4
drwx------ 102 nginx nginx 4096 May 16 19:11 5
drwx------ 102 nginx nginx 4096 May 16 19:11 6
drwx------ 102 nginx nginx 4096 May 16 19:11 7
drwx------ 102 nginx nginx 4096 May 16 19:11 8
drwx------ 102 nginx nginx 4096 May 16 19:11 9

Также вопрос -- может ли эксперементальный модуль перла есть память?


2009/9/8 Одинцов Павел <pavel.odintsov at googlemail.com>:
> Добрый день!
>
> Спасибо большое, Игорь, за ответ. Пересобрали без fair, следим за нагрузкой.
>
> 2009/9/8 Igor Sysoev <is at rambler-co.ru>:
>> On Tue, Sep 08, 2009 at 01:18:21AM +0500, Одинцов Павел wrote:
>>
>>> Добрый вечер
>>>
>>> Имеется очень противная проблема, nginx 0.6.38 (epel репозиторий)
>>> стоит проксей перед хостинговой Апачей и попутно раздает статику;
>>> изредка на паре машин из полутора десятков nginx (master процесс)
>>> начинает жутко поедать память и в итоге через пару минут сваливает
>>> машину. Подозрения о причинах такого поведения есть в сторону буферов
>>> и проксирования больших файлов от Апача, но тут ничего толком не
>>> получилось понять.  Помогайте :(
>>>
>>> Вот вывод top в этот момент:
>>>
>>> top - 11:38:50 up 23:26, 1 user, load average: 53.15, 50.24, 24.40
>>> Tasks: 130 total, 3 running, 120 sleeping, 0 stopped, 7 zombie
>>> Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 67.3%id, 32.5%wa, 0.0%hi, 0.0%si, 0.0%st
>>> Mem: 10240000k total, 5919988k used, 4320012k free, 12036k buffers
>>> Swap: 4194296k total, 3842072k used, 352224k free, 128848k cached
>>>
>>>   PID  USER  PR  NI  VIRT  RES  SHR  S  %CPU %MEM TIME+   COMMAND
>>>  1731  root      18  0  10.6g  4.6g   892   R  0.3       47.4     6:34.06 nginx
>>>
>>> Конфиг:
>>>
>>> user              nginx;
>>> worker_processes  1;
>>> error_log         /var/log/nginx/error.log;
>>> pid               /var/run/nginx.pid;
>>>
>>> events {
>>>     worker_connections  10024;
>>> }
>>>
>>> http {
>>>     include       /etc/nginx/mime.types;
>>>     default_type  application/octet-stream;
>>>
>>>     proxy_buffers 8 16k;
>>>     proxy_buffer_size 32k;
>>>
>>>     access_log  /var/log/nginx/access.log  main;
>>>     sendfile        on;
>>>     keepalive_timeout  65;
>>>
>>>       client_max_body_size 16m;
>>>       server_names_hash_bucket_size 64;
>>>       server {
>>>               listen xx.xx.xx.xx:80;
>>>               server_name server6.hostname.ru;
>>>
>>>               location / {
>>>                       proxy_pass http://xx.xxx.xx.xx:8080;
>>>                       proxy_redirect http://server6.hostname.ru:8080/ /;
>>>                       proxy_set_header Host $host;
>>>                       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>>>                       proxy_set_header X-Real-IP $remote_addr;
>>>               }
>>>               location @fallback {
>>>                       proxy_pass http://xx.xxx.xx.xxx:8080;
>>>                       proxy_set_header Host $host;
>>>                       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>>>                       proxy_set_header X-Real-IP $remote_addr;
>>>               }
>>>       }
>>>
>>>
>>>
>>> Конфигурация:
>>>
>>> uname -a
>>> Linux server6.hostname.ru 2.6.18-128.1.10.el5xen #1 SMP Thu May 7
>>> 11:07:18 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
>>>
>>> cat /etc/redhat-release
>>> CentOS release 5.3 (Final)
>>>
>>> /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_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-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'
>>> --add-module=/builddir/build/BUILD/nginx-0.6.38/nginx-upstream-fair
>>
>> Вообще, сам мастер-процесс ничего не обрабатывает и расти ему не с чего.
>> У меня он обычно наименьший из всех процессов nginx'а и такого роста
>> я не никогда не видел. Можно попробовать убрать nginx-upstream-fair.
>>
>>
>> --
>> Игорь Сысоев
>> http://sysoev.ru
>>
>>
>
>
>
> --
> С уважением, Одинцов Павел
>



-- 
С уважением, Одинцов Павел


More information about the nginx-ru mailing list