I'm trying to avoid a situation where I'm running out of ram resulting in the server locking up (oom-killer).

To achieve this I'm trying to update my Amazon Linux AMI instance to limit the number of simultaneous connections.

I have Apache 2.4 and following this guide, added the following to my httpd.conf:

MaxRequestWorkers = 112
ServerLimit = 112

However this results in the following warning on httpd restart:

"MaxRequestWorkers takes one argument, Maximum number of children alive at the same time"

  • 1
    nginx use significantly less ram than apache, nginx can easily handle 5,000 connections with less ram than it takes apache to handle 10 connections >.> you could try switching to nginx and see if that helps. - help.dreamhost.com/hc/en-us/articles/… – hanshenrik Nov 20 at 16:38

The tutorial you followed has a pretty blatant error. Apache directives do not have an = character between the directive name and value.

The directives should read:

MaxRequestWorkers 112
ServerLimit 112

Keep in mind that this isn't likely to help all that much. The first thing you should do is switch to the event MPM (and php-fpm for PHP usage). If you are still using the 25 year old prefork MPM you are sacrificing a lot of performance and memory for little good reason. Just making this switch is likely to reduce your OOM issues while increasing performance dramatically.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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