You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Marten Lehmann <le...@cnm.de> on 2008/03/12 13:27:15 UTC

Re: Huge httpd-process

Hello,

> If you think this is a bug, please open a bug in bugzilla. Adding you configuration
> to the bug could be also helpful.

in the meantime I have upgraded to 2.2.8, but I still sometimes see 
processes like this:

  2069 nobody    15   0    1   0:46.23 87.6 2460m 1.7g 1564 D httpd

httpd is consuming 87% of the ram. Why does he do that? How can I trace 
what the process is doing? I guess it is useless to post bug report 
without additional information.

>> consume that much memory (we are not using mod_php, mod_perl or anything
>> like that).
> 
> Do you use any other third party modules?

I'm using a self-programmed module for dynamic mapping from hostnames to 
document-roots from a berkeley db. But it is read only. The same 
configuration is running on different servers, but only one with a high 
load seems to cause this problem.

Regards
Marten

Re: Huge httpd-process

Posted by Rainer Jung <ra...@kippdata.de>.
Hi Marten,

Marten Lehmann schrieb:
> Hello,
> 
>> If you think this is a bug, please open a bug in bugzilla. Adding you 
>> configuration
>> to the bug could be also helpful.
> 
> in the meantime I have upgraded to 2.2.8, but I still sometimes see 
> processes like this:
> 
>  2069 nobody    15   0    1   0:46.23 87.6 2460m 1.7g 1564 D httpd
> 
> httpd is consuming 87% of the ram. Why does he do that? How can I trace 
> what the process is doing? I guess it is useless to post bug report 
> without additional information.


This is likely not the answer you are looking for, but: if you think it 
might be a leak, i.e. the amount of memory is slowly growing over 
time/requests, you could use MaxRequestsPerChild. It will tell httpd to 
end child processes after that many requests (more precisely 
connections). httpd will automatically start new children if needed.

Don't set it to extremely small values though, because forking a lot of 
processes (like 10 per second or even more) will be very inefficient. 
How small is extremely small? You'll have to do some calculations about 
how many requests per second a single httpd process is doing for you.

Concerning "what is using memory": anything interesting in 
/proc/2069/maps ? It might be simply showing, that it's heap, but one 
never knows ;)

Regards,

Rainer