memory leak by nginx

Vitaliy Okulov vitaliy.okulov at gmail.com
Thu Jan 29 17:13:14 MSK 2009


В сервере 8 гигов памяти + 8 своп. При посещении 5-10 запросов в секунду не
думаю что дело в буферах.

2009/1/29 Alexey V. Karagodov <kav at karagodov.name>

> полный конфиг покажите
>
> у Вас вероятно буфера слишком большие ... прошу понять меня правильно ...
>
> On 29.01.2009, at 13:18, Vitaliy Okulov wrote:
>
>  Обновился до nginx 0.6.34 c 0.6.32. Заметил утечки памяти на 1 сервере. ОС
>> FreeBSD 6.3. Параметры сборки:
>>
>> nginx version: nginx/0.6.34
>> configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt=-I
>> /usr/local/include --with-ld-opt=-L /usr/local/lib
>> --conf-path=/usr/local/etc/nginx/nginx.conf
>> --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid
>> --error-log-path=/var/log/nginx-error.log --user=www --group=www
>> --http-client-body-temp-path=/var/tmp/nginx/client_body_temp
>> --http-proxy-temp-path=/var/tmp/nginx/proxy_temp
>> --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp
>> --http-log-path=/var/log/nginx-access.log --with-http_addition_module
>> --with-http_dav_module --with-http_flv_module --with-http_realip_module
>> --with-http_ssl_module --with-http_stub_status_module
>> --with-http_sub_module
>>
>> Клиентов на данном сервере мало, примерно 5-10 коннекто в секунду.
>> Динамики
>> нет, то есть обслуживается только статика. После рестарта nginx память
>> освобождается. В dmesg есть информация:
>>
>> swap_pager_getswapspace(2): failed
>> pid 38158 (nginx), uid 80, was killed: out of swap space
>> swap_pager_getswapspace(16): failed
>>
>> Так что проблема явно в nginx. Из особенностей могу отметить использование
>> большой базы geoip адресов.
>>
>> В чем может быть проблема? Как ее решить?
>>
>> Конфигурационный файл:
>>
>> user  www;
>> worker_processes  8;
>> worker_rlimit_nofile  200000;
>>
>> #error_log  logs/error.log;
>> #error_log  logs/error.log  notice;
>> error_log  /var/log/nginx/error.log  info;
>>
>> #pid        logs/nginx.pid;
>>
>>
>> events {
>>   use    kqueue;
>>   worker_connections  1024;
>> }
>>
>>
>> http {
>>   include       mime.types;
>>   default_type  application/octet-stream;
>>
>>   index index.shtml index.html;
>>
>>   log_format  main  '$remote_addr - $remote_user [$time_local] $request '
>>                     '"$status" $body_bytes_sent "$http_referer" '
>>                     '"$http_user_agent" "$http_x_forwarded_for"';
>>
>>   access_log  /var/log/nginx/access.log  main;
>>
>>   sendfile        on;
>>   #tcp_nopush     on;
>>
>>   keepalive_timeout  65;
>>   client_max_body_size 60m;
>>
> умножить на 8 вокеров, уже 480 метров ...
>
>
>
>>
>>   #gzip  on;
>>
>>   error_page 404          /404.html;
>>   error_page   500 502 503 504 /50x.html;
>>
>>   include /usr/local/etc/nginx/upstream.conf;
>>   include /usr/local/etc/nginx/geoip.conf;
>>   include /usr/local/etc/nginx/vhosts.d/*.conf;
>>
>>
>>   server {
>>       listen       *:80;
>>       server_name  xxx;
>>
>>       location / {
>>          root   /usr/local/www/nginx;
>>           index  index.html index.htm index.shtml;
>>       }
>>
>>       error_page   500 502 503 504  /50x.html;
>>       location = /50x.html {
>>           root   /usr/local/www/nginx-dist;
>>       }
>>
>>       location /nginx_status {
>>           stub_status on;
>>           access_log   off;
>>           allow xxx;
>>           deny all;
>>       }
>>   }
>> }
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090129/fa83e3d4/attachment.html>


More information about the nginx-ru mailing list