Ruediger Pluem schrieb: > > 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.
Using my production configurations on Solaris with 2.2.10 worker I can only reproduce a leak during graceful restart when loading mod_ssl. The memory size does not always increase though, after a couple of restarts it decreases again, but not back to the previous minimum so over all there is a small leak related to restarts. Regards, Rainer