Avoid oom-killer by limiting simultaneous users

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"


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.