Hello All,

 

I have three web servers which periodically crash due to Apache using up all
of the RAM on the server.  No matter how much RAM we put in, it always
happens.  Currently, there's 16GB of RAM on each server running Linux
x86_64.

 

Watching top, and the RSS of the Apache processes constantly grow.  When
Apache first starts, the average RSS is 20MB per process.  Within an hour or
so, it's 128MB per process.  Do the math, and at 200 processes that's 25GB.

 

We've imposed memory limits in PHP, we use RLimitMEM in Apache (both are set
to 128M).  I even wrote a Perl script which runs continuously checking all
Apache processes that kills individual children if they go over 80MB for
their RSS value.  What's interesting is that when the average RSS hits 80MB
and my script kills everything, the RSS value resets back to 20MB and the
process starts over again.

 

Apache has PHP 5.2.5 compiled in as a DSO module using Apache 2.2.3.  The
server is an Intel Xeon 5300 sequence server using the Linux kernel
2.6.18-53.1.4.el5smp.

 

Can anyone offer up an explanation for this?  Thanks.

 

----

Graham Frank

Neoservers LLC - Founder and Owner

Ph: (608) 359-1593

Member of the Better Business Bureau   

 

Reply via email to