ПРОЕКТЫ 


  АРХИВ 


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: Утечка файл дескр ипторов?



On Wed, 16 Mar 2005, Mike Kolesnikov wrote:

Igor Sysoev wrote:

Сейчас кстати кол-во свободных дескрипторов устаканилось:
cat /proc/sys/fs/file-nr
1993    969     104032
Я буду следить за ситуацией, lsof и /proc/<pid>/fd нам помогут :)

Докладаю:
cat /proc/sys/fs/file-nr
1993    861     104032

Число занятых дескрипторов потихоньку растет.

ls /proc/<pid>/fd |wc -l
281

Вчера вечером было меньше 200 - колебалось в районе 170.

lsof -n |grep nginx |grep <pid> |grep TCP |wc -l
62

lsof -n |grep nginx |grep <pid> |grep REG |wc -l
223

Наконец, самое интересное:
lsof -n|grep nginx|grep REG|awk '{print $9}'|sort|uniq -c|sort -nr
   213 /home/ads/website/index.php
     4 /usr/local/nginx/logs/error.log
     2 /var/log/httpd/ads-error_log
     2 /usr/local/nginx/sbin/nginx
     2 /usr/lib/libz.so.1.1.4
     2 /lib/tls/libc-2.3.2.so
     2 /lib/libnss_files-2.3.2.so
     2 /lib/ld-2.3.2.so
     1 /home/ads/website/banners/medusapoweranalyzerplus01.swf

Что бы это значило? index.php просто перенаправляет на /admin/index.php

Запрос / попадает в "location /". Для него пробуются индексы
index.php, index.htm и index.html. Подходит первый - index.php.

Может, что-то с директивой index или fastcgi_index?
Вот как они используются в конфиге:

       location ~* ^.+\.(php|phtml)$ {
               fastcgi_pass  localhost:1234;
               fastcgi_root   /home/ads/website;
               fastcgi_index  index.php;

               fastcgi_connect_timeout       10;
               fastcgi_send_timeout          2m;
               fastcgi_read_timeout          3m;

               fastcgi_header_buffer_size    64k;
               fastcgi_buffers               8 32k;
               fastcgi_busy_buffers_size     64k;
               fastcgi_temp_file_write_size  256k;

               fastcgi_x_powered_by       off;
       }

       location / {
           root         /home/ads/website;
           index        index.php index.htm index.html;
           expires      30d;
       }

Да, судя по всему, второе поле означает число свободных file handles
из тех что уже были выделены (первое число). Я просто тыкнул в две ссылки
в Гугле и прочитал про unused. Но в любом случае, в системе не
использовалось одновременно больше 1993 файлов. Стало быть, это не утечка,
а limit. А что показывает nginx при запуске в самом начале про
getrlimit(RLIMIT_NOFILE) ?

Так и утечка будет упираться в лимит точно так же, так что это не
показатель.
2005/03/16 04:33:13 [info] 10874#0: getrlimit(RLIMIT_NOFILE): 1024:1024


Игорь Сысоев
http://sysoev.ru




 




Copyright © Lexa Software, 1996-2009.