I have a highly trafficked application on one debian machine and apache has started acting strange.
Every time I start apache, tons of apache processes are spawned, the
use ps -aux | grep apache to find out the number of processes that apache is running on. Look out for the "RSS" column which gives an estimate of the memory used by each process. Alternatively you can use "top", where you shift + f and then select the %MEM column to sort the processes by memory usage.
The number of processes is determined by "MaxClients" directive in your apache.conf file. The way you come to this figure is as described by this page;
sudo service apache2 stop)The right value for "MaxClients" will ensure the right memory allocation for your apache server. That's how I solved it.
In Debian, apache conf file is at /etc/apache2/apache2.conf