Re: Перезапуск кэш-менеджера

Anton Yuzhaninov citrin at citrin.ru
Thu Mar 14 11:11:55 UTC 2013


On 03/14/13 14:59, Daniel Podolsky wrote:
> Если вы успеваете обрабатывать все соединения - старый воркер по
> любому должен терять вес быстрее, чем новый - набирать. Но этого не
> происходит, как я понял. Почему?

Особенность большинства реализация malloc - после free помять возвращается в пул 
OS не сразу: в худшем случае после завершения процесса, в лучшем когда 
освободится большой непрерывный участок памяти. В случае nginx память перед 
выходом скорее всего будет фрагментирована, и небольшое число завершающихся 
соединений будут мешать вернуть другим процессам относительно большой объем памяти.

Но в современных условиях проще иметь на сервере двух или трехкратный запас 
памяти. Полезно не только для безболезненных reload, но и для кэширования файлов 
средствами VM (включая файлы в кеше).

Если же у вас в серверах уже стоит по 32Gb памяти и больше, но nginx её всю 
съедает, возможно стоит поразбираться зачем ему так много надо, и если получится 
- покрутить настройки, чтобы он кушал меньше.



Подробная информация о списке рассылки nginx-ru