Назад | Перейти на главную страницу

Избегайте oom-killer, ограничивая количество одновременных пользователей

Я пытаюсь избежать ситуации, когда у меня заканчивается оперативная память, что приводит к блокировке сервера (oom-killer).

Для этого я пытаюсь обновить свой экземпляр Amazon Linux AMI, чтобы ограничить количество одновременных подключений.

У меня Apache 2.4 и следующие это руководство, добавил в мой httpd.conf следующее:

MaxRequestWorkers = 112
ServerLimit = 112

Однако это приводит к следующему предупреждению при перезапуске httpd:

«MaxRequestWorkers принимает один аргумент, максимальное количество детей, живущих одновременно»

В руководстве, которому вы следовали, есть довольно явная ошибка. Директивы Apache не есть = символ между именем директивы и значением.

Директивы должны гласить:

MaxRequestWorkers 112
ServerLimit 112

Имейте в виду, что это вряд ли поможет. Первое, что вам нужно сделать, это переключиться на событие MPM (и php-fpm для использования PHP). Если вы все еще используете предфорк MPM 25-летней давности, вы жертвуете большим количеством производительности и памяти без всякой уважительной причины. Простое переключение может уменьшить количество проблем с OOM и значительно повысить производительность.