Linux – How to know what an apache process is doing

apache-2.2debianlinux

Sometimes apache goes crazy and eats all my memory and swap, but I don't know how to find out which web app is the causing it.

ps gives me this output for the process; "Uninterruptible sleep (usually IO)"

www-data  1526  0.1 78.9 14928852 3191628 ?    D    Oct17   6:45 /usr/sbin/apache2 -k start

I suspect Ruby+Redmine, but I want to be sure

Best Answer

Make sure you have mod_status.so loaded within your apache modules then look for/add the above to your httpd.conf:

# Uncomment the following lines to enable mod_status support:
#
ExtendedStatus On

<Location /server-status>
SetHandler server-status

Order Deny,Allow
Deny from all
Allow from YOUR_IP_HERE
</Location>

This will allow you to see all the pages being used load domain within your http server.

To access it use http://your_ip/server-status and only the ip defined at Allow from YOUR_IP_HERE will be able to view it.