Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

On a number of occasions, I've run across apache servers that get "clogged" serving requests for a poorly-written PHP page. Looking at the HTTP status page, all the servers are in the "W" state. And while sometimes it's possible to find the offending site using the logs and a bit of lucky guessing, on systems running a large number of websites, it's very nearly impossible to find the offending script using the logs.

So, is there a way to find out what request a given apache process is serving "right now"? I've looked in the /proc/ directory and not found anything useful. I would imagine strace could prove helpful, but only if you got to it BEFORE the request started.

Any ideas?

By the way: I'm familiar with the "slowloris" DOS attack, and it's not what I'm talking about.

share|improve this question
up vote 5 down vote accepted

Turn on the ExtendedStatus flag in httpd.conf.

Your server status page will then list the VHost and URI of each file being served.

share|improve this answer
ExtendedStatus is absolutely awesome -- although it can have a noticeable impact on performance in the worst case, so it's better to turn it on and off when required. – womble Nov 19 '09 at 7:53

On CentOS you'd run /usr/local/apache/bin/apachectl fullstatus

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.