Потребление памяти воркерами

Andrey Ignatov andr.pl at gmail.com
Tue Dec 11 19:36:16 MSK 2007


On Tue, Dec 11, 2007 at 06:04:08PM +0200, Olexander Shtepa wrote:
> > > В определённые моменты воркеры занимали RSS более 700М.
> > > После сигнала -HUP новорождённые воркеры занимают по 4-6 МБ и набирают по ~80 МБ в час каждый.
> > > По достижению определённого порога рост прекращается.

Была аналогичная ситуация некоторое время назад.

> > > Могу предоставлю дополнительную информацию.
> > >   
> > proxy_buffering             on;
> > 
> > случайно не используется ?
> 
> Буферизация включена. Вот настройки:
> 
> worker_processes  2;
> worker_rlimit_nofile 10000;
> timer_resolution  100ms;
> events {
>     use epoll;
>     worker_connections  10000;
> }
> http {
>     sendfile        on;
>     tcp_nopush      on;
>     tcp_nodelay     on;
>     keepalive_timeout  65;

Снизить потребление памяти помогло уменьшение этого таймаута.
Сейчас стоит:

	keepalive_timeout       3;

А выключение keepalive приводило к уменьшению RSS до неск. мегабайт на
каждыйворкер (не более 10). Возможно Вам поможет.

>     gzip            on;
>     gzip_min_length 1100;
>     client_max_body_size 10m;
>     proxy_read_timeout 1h;
> }
> Внутри десятка вхостов используется следующая одинаковая конфигурация:
>     location / {
>         proxy_pass http://cluster;
>         proxy_set_header Host $host;
>         proxy_set_header X-Real-IP $remote_addr;
>         proxy_set_header X-HTTPS "";
>         proxy_redirect off;
>     }
>     и несколько директив rewrite
> 
> Остальное по дефолту.
> Бекендов у меня 4 и в каждом MaxClients 200
> Так что максимально занимаемая память на буферизацию будет:
> (1+8)*4к*(200*4)=28800к
> 
> Полчаса назад в секции http сделал proxy_buffering off, но всёравно:
> USER     PID %CPU %MEM   VSZ     RSS STAT START   TIME COMMAND
> root   17376  0.0  0.1 16476    3104 S    Nov15   0:15 nginx: master process
> nginx  29728  4.4  4.8 115192 101288 S    15:33   1:08 nginx: worker process
> nginx  29729  4.2  3.6 89768   75868 R    15:33   1:04 nginx: worker process
> 
> Так что не в буферизации дело.

-- 
Andrey Ignatov
Skript, System administrator





More information about the nginx-ru mailing list