On 6/6/06, John Morrissey <[EMAIL PROTECTED]> wrote:
I'm having a problem with Apache 2.0.54 (we're running the Debian packages
for 2.0.54-5). Periodically, a single Apache child will rapidly consume all
available memory on the machine - once the memory consumption starts, it
only takes five or ten minutes (at most) for it to exhaust available memory.
We're running it on a cluster of four identical machines (hardware, OS,
configuration, etc.) and are seeing this problem across all of them.
Right now, we have a cron job that spawns every five minutes to kill off
errant children, and it's triggered a handful of times per day on these
machines.
Some configuration details:
- Prefork MPM
- Modules: cgi headers include ldap_userdir mime_magic php4 rewrite userdir
Most content is static (HTML pages, images, etc.). This cluster takes fairly
little PHP traffic, but what PHP it does do is important, so I can't disable
PHP for testing. We have another cluster that takes heavy PHP traffic (~95%
of its total hits) on identical hard/software versions that run with no
problem, so I'm inclined to rule PHP out.
Here's an example of an errant process before it was killed by our cron job:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
www-data 10354 0.0 88.5 2861024 1839504 ? D 14:06 0:37
/usr/sbin/apache2+-k start -DSSL
Change your LogFormat to include the PID of the serving process. Then
you can go back and correlate teh PID of the memory hog with the
requests it recently served. (See also mod_log_forensic, which will
be necessary if the bad request never finishes.)
Joshua.
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
" from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]