I'm using prefork apache 2.2 and I can't seem to figure out why there is a MaxClients directive and a ServerLimit directive.

I understand that you need to increase both of these in step -- google has told me this over and over again. As far as I can tell they both control the maximum number of Apache process running at any time.

Why do they both exist? For prefork, they seem redundant. Is there a subtle difference I'm missing?

  • Unless you have oodles of RAM you may want to decrease MaxClients, it depends on the average size of your httpd process.
    – HTTP500
    Dec 6, 2011 at 15:46

1 Answer 1


Serverlimit = limit for processes in general (default: 256)

MaxClients = limit for child-processes

You don't have to set ServerLimit as long as Maxclients < 256 btw. (but you can save some memory if you do so)

  • 2
    Specifically from the docs: "With the prefork MPM, use this directive only if you need to set MaxClients higher than 256 (default). Do not set the value of this directive any higher than what you might want to set MaxClients to."
    – Andrew M.
    Dec 6, 2011 at 16:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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