Потребление памяти nginx'ом

Igor Sysoev is at rambler-co.ru
Wed Nov 5 17:11:00 MSK 2008


On Tue, Nov 04, 2008 at 11:42:45PM +0200, Alex Vorona wrote:

> 04.11.2008 19:34, Alex Vorona wrote:
> >04.11.2008 19:10, Igor Sysoev wrote:
> >>On Tue, Nov 04, 2008 at 06:49:24PM +0200, Alex Vorona wrote:
> >>
> >>>>>[root at host]# uname -rm
> >>>>>7.0-RELEASE i386
> >>>>Возможно, дело в новом malloc()е. Можно попробовать запустить так:
> >>>>
> >>>>MALLOC_OPTIONS=Dm /usr/local/nginx/nginx
> >>>>
> >>>>И добавить в nginx.conf:
> >>>>
> >>>>env   MALLOC_OPTIONS=Dm;
> >>>>
> >>>>на случай апгрэйда.
> >>>>
> >>>>
> >>>[root at host]# MALLOC_OPTIONS=Dm `which nginx`
> >>>nginx: (malloc) Unsupported character in malloc options: 'D'
> >>>nginx: (malloc) Unsupported character in malloc options: 'm'
> >>>^C
> >>
> >>Это появилось в 7-STABLE в марте 2008.
> >>
> >>
> >аналогичную проблему (с тем же конфигом) наблюдаю на линуксе
> архив конфига вложил, генератор конфига вложил.

Судя по ktrace, malloc() освобождает память не с помощью sbrk() (в случае Dm)
или unmap() (в случае dM), а с помощью madvise(MADV_FREE). То есть,
формально память освобождена, но при необходимости может быть быстро
занята снова. Скорее всего, с Линуксом ситуация такая же.


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





More information about the nginx-ru mailing list