On 10/18/2008 01:25 AM, Paul Querna wrote:
> Looking at a problem that seems easy to re-produce using un-patched
> trunk, 2.2.10 and 2.0.63.
> 
> Using a graceful restart causes higher memory usage in the parent, which
> is then passed on to the 'new' children processes.
> 
> The issue seems to appear in all the Worker, Event and Prefork MPMs.
> 
> Compile up httpd without apr pool debugging enabled, start it as normal,
>  and then check the memory usage:
> 
> $ ./apachectl start
> $ ps alx | grep 18459
> 1  1000 18459     1  20   0 152752  2672 674009 Ss   ?          0:00
> /home/chip/temp/httpd/bin/httpd -k start
> 
> $ ./apachectl graceful
> $ ps alx | grep 18459
> 1  1000 18459     1  20   0 152752  3192 674009 Ss   ?          0:00
> /home/chip/temp/httpd/bin/httpd -k start
> 
> $ ./apachectl graceful
> $ ps alx | grep 18459
> 1  1000 18459     1  20   0 152752  3236 674009 Ss   ?          0:00
> /home/chip/temp/httpd/bin/httpd -k start
> 
> $ ./apachectl graceful
> $ ps alx | grep 18459
> 1  1000 18459     1  20   0 152752  3280 674009 Ss   ?          0:00
> /home/chip/temp/httpd/bin/httpd -k start
> 
> (2672 -> 3192 -> 3236 -> 3280)
> 
> And, at least over here, httpd consistently grows in RSS, without any
> obvious cause.
> 
> Seems reproducible on Ubuntu and Darwin, using 2.2.10, 2.0.63 and trunk.
> 
> Any ideas?

Two quick thoughts:

1. Memory fragmentation in the allocator lists (we had this discussion either 
here
   or on [EMAIL PROTECTED] a short time ago).

2. At some locations we use a global pool (process->pool) to allocate memory, 
e.g. mod_ssl
   and when setting up the listeners. I haven't checked so far if this global 
pool usage is
   justified.


Regards

RĂ¼diger

Reply via email to