ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: memory leak by nginx



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

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




 




Copyright © Lexa Software, 1996-2009.