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
  • 1.200.000 request/day
  • 30.000 <> files/day
  • 5500 unique ip
  • wordpress + cache
  • debian lenny + php + suhosin patch + mysql
  • 4GB RAM
  • single sata disk
  • Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33GHz

I'm using the default Apache configuration, but sometimes I get a zombie Apache process.

Any ideas?

My config can be read at

share|improve this question

Are you using the prefork MPM? Probably, so I will go with that.

MaxSpareServers and StartServers are kind of too far away from each other. The other thing is, see what modules you have enabled and let only the ones you need, so you will have smaller apache2 processes: smaller processes mean more processes in less memory.

The other thing I can suggest you is to monitor the number of apache processes you usually have and tune from here. If you always run on a low 30 and high 80, you can keep the spare servers higher.

Also, take a look on the keep alive configuration, you may want to get your MaxKeepAliveRequests higher and maybe get your KeepAliveTimeout lower. If you start to get too many zombies you can maybe turn off keep alive entirely or set the number of requests to a slow number (so the apache children will be recycled faster) but there's a performance hit.

Anyway, there's no way to exactly tune it without monitoring and seeing if there's any bottleneck to be solved on apache or the OS. Take a look at vmstat and check the number of processes, what they are doing and so on so you can identify choke points.

share|improve this answer

Your Answer


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