linux, aio memory usage

proforg proforg at maloletka.ru
Thu Oct 15 02:34:27 MSD 2009


День добрый !

После включения aio nginx временами начал "отжирать" всю доступную
память на сервере.
Памяти немного - 4Gb но и воркеров всего 4.

через 40 минут после запуска:
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      2641  0.0  0.6 105992 27464 ?        Ss   15:25   0:00
nginx: master process /usr/sbin/nginx
www-data  2642  0.6 10.3 495964 418672 ?       S    15:25   0:16
nginx: worker process
www-data  2644  0.6  9.7 474572 397280 ?       R    15:25   0:16
nginx: worker process
www-data  2645  0.5 10.3 496348 419180 ?       S    15:25   0:16
nginx: worker process
www-data  2646  0.5 10.4 501336 423956 ?       S    15:25   0:16
nginx: worker process

параллельно с памятью растёт и "open files"

В логах, соответственно, вижу примерно следующее:

2009/10/14 11:18:19 [notice] 2667#0: signal 17 (SIGCHLD) received
2009/10/14 11:18:19 [alert] 2667#0: worker process 2670 exited on signal 9
2009/10/14 11:18:19 [notice] 2667#0: start worker process 9686
2009/10/14 11:18:19 [notice] 2667#0: signal 29 (SIGIO) received

Linux hunterscash.com 2.6.26-2-amd64 #1 SMP Wed Aug 19 22:33:18 UTC
2009 x86_64 GNU/Linux

nginx version: nginx/0.8.20
configure arguments: --conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock
--http-log-path=/var/log/nginx/access.log
--http-client-body-temp-path=/var/lib/nginx/body
--http-proxy-temp-path=/var/lib/nginx/proxy
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi --with-debug
--with-file-aio --with-http_stub_status_module
--with-http_addition_module --with-http_random_index_module
--with-http_flv_module --with-http_ssl_module --with-http_dav_module
--with-http_realip_module --with-http_secure_link_module
--with-http_xslt_module --with-http_addition_module
--with-http_image_filter_module --with-http_geoip_module
--add-module=mod_zip-1.1.4
--add-module=nginx_uploadprogress_module-0.5
--add-module=nginx_upload_module-2.0.10

единственное изменение к в конфигах которое сделал - на 5 сайтах
включил aio / directio
таким вот образом:

    location /video/
    {
        internal;
        root /home/www/beachhunters.com/members/;

        aio             on;
        directio        1;
        output_buffers  1 128k;

        set $orig_type 'video';
        post_action /download_stop;
    }

и вот таким:

    location ~* ^.+\.(avi|wmv|mpg|mpeg|mp4)$
    {
        aio             on;
        directio        1;
        output_buffers  1 128k;

        root /home/fhg;
        if ($invalid_referer) { return   403; }
    }


-- 
Aleksej Besciokov
EMail/JID: proforg at maloletka.ru
phone: +7 495 7853149





More information about the nginx-ru mailing list