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