Memory consumption in case of huge number of configs

dparshin nginx-forum at nginx.us
Tue Jun 19 15:42:14 UTC 2012


Valentin V. Bartenev Wrote:
-------------------------------------------------------
> On Monday 18 June 2012 23:47:21 dparshin wrote:
> > I noticed following behavior of nginx recently,
> everything I describe
> > here is related to the case when we have huge
> number of configuration
> > files(> 1000). Once nginx is started it occupies
> more than 100MB of
> > memory, memory is not freed on fork. That is
> expected behavior but the
> > weird thing happens on configuration reload,
> once HUP signal is sent,
> > master process doubles occupied memory size, if
> reload is repeated
> > memory consumption stays the same, so it looks
> like memory is not reused
> > in process of reload, instead new pool is
> created, which leads to the
> > waste of memory.
> > 
> 
> Of course it creates a new pool. Nginx must
> continue to work and handle 
> requests, even if it fails to load the new
> configuration.

Sounds reasonable, but unused pool(after reload process successfully
finished) is not destroyed, and after fork the amount of unused memory
is multiplied by the number of workers. I mean that we have two pools in
every worker and in the master process - pool with active configuration
and unused pool used for reload purposes.

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,227668,227689#msg-227689



More information about the nginx mailing list