memory leak by nginx

Alexey V. Karagodov kav at karagodov.name
Thu Jan 29 13:59:48 MSK 2009


полный конфиг покажите

у Вас вероятно буфера слишком  
большие ... прошу понять меня  
правильно ...
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;
>        }
>    }
> }






More information about the nginx-ru mailing list