Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Потребление памяти nginx'ом
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@host]# uname -rm
> >>>>>7.0-RELEASE i386
> >>>>Возможно, дело в новом malloc()е. Можно попробовать запустить так:
> >>>>
> >>>>MALLOC_OPTIONS=Dm /usr/local/nginx/nginx
> >>>>
> >>>>И добавить в nginx.conf:
> >>>>
> >>>>env MALLOC_OPTIONS=Dm;
> >>>>
> >>>>на случай апгрэйда.
> >>>>
> >>>>
> >>>[root@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
|