Re: Master процесс nginx 0.6.38 съедает всю доступную память
Одинцов Павел
pavel.odintsov at googlemail.com
Tue Sep 8 14:53:09 MSD 2009
Добрый день!
Спасибо большое, Игорь, за ответ. Пересобрали без 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