httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ruediger Pluem <>
Subject Re: Apache 2.2 MPM Worker Virtual Memory Usage
Date Sun, 21 Oct 2007 11:01:17 GMT
What is your setting for ThreadsPerChild?

On my Linux each thread consumes 8MB of virtual memory (I assume for stack and other
thread private data) as shown by pmap. This can sum up to a large amount of memory.



On 10/21/2007 12:29 PM, Apache Dev wrote:
> I tried asking this on the users mailing list. But, I think it is beyond
> that list.
> There appears to be a significant difference between Apache 2.2 MPM
> Worker and MPM Perfork virtual memory usage. As well as between Apache
> 2.2 MPM Worker and Apache 1.3 virtual memory usage. This can become an
> issue in a VPS (virtual private server) environment where resources are
> more constrained. Privvmpages is limited in this environment. The impact
> here is that some VPS users simply cannot run the Worker MPM. Which is
> unfortunate.
> I am seeing 280MB vs 5.8MB of VM usage per process. You could argue that
> worker is supposed to use more virtual memory, as running multiple
> threads per process it actually uses less. But, that is not the case.
> Total VPS privvmpages is 2.1GB vs 358MB. What is really interesting here
> is why is it so much higher. You would expect some increase but it looks
> like most (if not all) of the virtual memory of each of the 7 worker
> processes is not shared. 7 * 280MB = 2GB. Which means it can't be code.
> I don't see how it could be this much code anyway. So then what is it?
> (Conversely most of the 2.2 perfork virtual memory is shared code. 150 *
> 5.8MB = 850MB,which is more than 358MB for the entire VPS.) Is the code
> building some kind of large local process database? Anyway to turn it off?
> Note I do not have PHP or any other programmatic modules loaded. See
> below for configure info.
> Thanks...

View raw message