Error server reached maxclients setting consider raising the maxclients setting

Одной из наиболее частых причин падений Apache, как минимум в моем случае, является ошибка server reached MaxClients setting, consider raising the MaxClients setting. Причина сама по себе описана вполне грамотно и не оставляет места для пересудов. Проблема в том, что веб-сервер перевалил за ограничение максимально возможных одновременных подключений к Apache, за что и отвечает параметр MaxClients.

Server reached MaxClients setting, consider raising the MaxClients setting

Одной из наиболее частых причин падений Apache, как минимум в моем случае, является ошибка server reached MaxClients setting, consider raising the MaxClients setting. Причина сама по себе описана вполне грамотно и не оставляет места для пересудов. Проблема в том, что веб-сервер перевалил за ограничение максимально возможных одновременных подключений к Apache, за что и отвечает параметр MaxClients. Во второй половине ошибки даже сказано, что нужно рассмотреть возможность увеличения этого показателя.

Для увеличения числа MaxClients необходимо открыть файл httpd.conf(или apache.conf, смотря в каком префорке собран веб-сервер). Мой веб-сервер Apache работает на форке httpd.itk и установлен на CentOS, поэтому искомый файл находится по адресу:

[code]/etc/httpd/conf/httpd.conf[/code]

Уточнить какой mpm использует ваш веб-сервер можно с помощью команды:

[code]httpd -V | grep mpm [/code]

или

[code]apache2 -V | grep mpm[/code]

смотря на то, какая система стоит. Например, apache2 соответствует Debian, а httpd — CentOS.

Вывод этих команд покажет, какой форк используется сервером apache. Узнав это, открываем вышеуказанный конфигурационный файл и увеличиваем число MaxClients и ServerLimit — делаем их одинаковыми. Изменения необходимо вносить в тот раздел …, с использованием которого собран Apache. Так для форка httpd.itk необходимо править раздел:

[code]<IfModule mpm_itk_module> … </IfModule>[/code]

а для форка prefork:

[code]<IfModule Mpm_prefork_module>…</IfModule>[/code]

Однако не стоит резко изменять число Maxclients, необходимо еще учитывать свободную оперативную память и средний размер процесса Apache. Узнав это, нужно первое поделить на второе и вы получите приблизительное число одновременных максимальных подключений, при превышении которого на сервере закончиться свободная оперативная память и это приведет к падению. Вот таким образом, если кратко, происходит решение проблемы Server reached MaxClients setting, consider raising the MaxClients setting. Ждем ваших откликов.


Просмотр полной версии : Перегружен апач


nick_mad

24.07.2010, 00:14

Здравствуйте.

Я в ISPmanager новичок. Знаю фрю + софт апач пхп и т.д.

Попросили меня посмотреть сервак на котором стоит ISPmanager. Там постоянно подвисает апач, в логах есть ошибка

[Wed Jul 21 12:01:57 2010] [error] server reached MaxClients setting, consider raising the MaxClients setting
увеличил этот параметр в апаче поставил Nginx немного стало легче но все равно подвисает. Плюс все усугубляется тем что стоит на линуксе в котором я не очень по поводу установки/переустановки.

Так вот меня как интересует эту проблему нужно решать из менеджера или ручной настройкой, установкой/переустановкой приложений.

На фре не проблема все снес бы и поставил заново, на линуксе не знаю точно как правильно это сделать и нужно ли вообще.

Вообщем товарищи камрады поскажите куда пробывать копать чтобы апач не подвисал при больших нагрузках ручным управлением или через менеджер? Вы пните дальше сам попробую разобраться.

Вывод top

top — 17:13:21 up 9 days, 7:51, 2 users, load average: 0.28, 0.21, 0.18
Tasks: 661 total, 1 running, 660 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.1%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 8166736k total, 7484312k used, 682424k free, 333540k buffers
Swap: 4200888k total, 12048k used, 4188840k free, 4447308k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
22955 apache 16 0 335m 30m 4512 S 0.0 0.4 0:00.61 httpd
22956 apache 15 0 331m 23m 4864 S 0.0 0.3 0:00.48 httpd
22959 apache 15 0 350m 44m 5048 S 0.0 0.6 0:00.81 httpd
22960 apache 15 0 351m 44m 5024 S 0.0 0.6 0:00.66 httpd
22961 apache 15 0 338m 31m 4532 S 0.0 0.4 0:00.62 httpd
22979 apache 15 0 335m 30m 4384 S 0.0 0.4 0:00.82 httpd
22991 apache 15 0 326m 21m 4544 S 0.0 0.3 0:00.40 httpd
23089 apache 15 0 348m 42m 3828 S 0.0 0.5 0:00.49 httpd
23827 apache 18 0 317m 9948 1324 S 0.0 0.1 0:00.00 httpd
23830 apache 18 0 317m 9948 1324 S 0.0 0.1 0:00.00 httpd
23831 apache 18 0 317m 9.8m 1384 S 0.0 0.1 0:00.00 httpd
23836 apache 19 0 317m 9948 1324 S 0.0 0.1 0:00.00 httpd
23837 apache 20 0 317m 9948 1324 S 0.0 0.1 0:00.00 httpd
23838 apache 20 0 317m 9.8m 1384 S 0.0 0.1 0:00.00 httpd
23840 apache 22 0 317m 9948 1324 S 0.0 0.1 0:00.00 httpd
23848 apache 18 0 317m 9948 1324 S 0.0 0.1 0:00.00 httpd
23849 apache 19 0 317m 9.8m 1384 S 0.0 0.1 0:00.00 httpd


Включить в Apache server-status как вариант и посмотреть какой сайт грузит.


nick_mad

24.07.2010, 00:35

Вот еще новая ошибка

[Fri Jul 23 17:27:48 2010] [error] (28)No space left on device: Cannot create SSLMutex
Configuration Failed

Включить в Apache server-status как вариант и посмотреть какой сайт грузит.

Это в менеджере гдето???


Вот еще новая ошибка

[Fri Jul 23 17:27:48 2010] [error] (28)No space left on device: Cannot create SSLMutex
Configuration Failed

Данная ошибка говорит о том, что закончилось место.


nick_mad

24.07.2010, 00:44

Но при этом диски свободные, не могу понять где ему этого места не хватило


Boris A Dolgov

24.07.2010, 01:14

ipcrm, удалить ненужные через ipcs.


nick_mad

24.07.2010, 01:30

Включить в Apache server-status как вариант и посмотреть какой сайт грузит.

Разобрался как включить, на своем запустил, а на том не хочет хотя все один в один


nick_mad

24.07.2010, 05:36

ipcrm, удалить ненужные через ipcs.
http://citforum.ru/operating_systems/manpages/IPCRM.8.shtml
читал не совсем понял что Вы имели ввиду

А как вообще апач на линуксе переставить, или можна средствами ISPmanager.
Просто я не вкурсе как это все собиралось или компилилось или rpm добавлялось.


Вот еще новая ошибка

[Fri Jul 23 17:27:48 2010] [error] (28)No space left on device: Cannot create SSLMutex
Configuration Failed
Это в менеджере гдето???

http://citforum.ru/operating_systems/manpages/IPCRM.8.shtml
читал не совсем понял что Вы имели ввиду

Доброго всем времени суток.

Поднимаю тему, возможно кому пригодиться («гугл найдет все»), так как довольно часто приходится решать эту проблему на серверах заказчика, собранных из коробки ISPmanager *, в том числе последней — Business.

Ошибка отображается в логах Apache, в случае с CentOS — «/var/log/httpd/error_log», строка вида:
[error] (28)No space left on device: Cannot create SSLMutex
Configuration Failed

В 99% случаев, данная ошибка при запуске Apache означает, что не хватает памяти для создания новых массивов семафоров.

Посмотреть массив семафоров, состояние и пределы можно следующими командами:
# ipcs -s
—— Массивы семафоров ———
ключ semid владелец права nsems
0x00000000 0 root 600 1
0x00000000 65537 root 600 1
0x0052e2c1 98306 postgres 600 17
0x0052e2c2 131075 postgres 600 17
0x0052e2c3 163844 postgres 600 17
0x0052e2c4 196613 postgres 600 17
0x0052e2c5 229382 postgres 600 17
0x0052e2c6 262151 postgres 600 17
0x0052e2c7 294920 postgres 600 17
0x00000000 50659337 apache 600 1
0x00000000 50692106 apache 600 1
0x00000000 50724875 apache 600 1

# ipcs -us
—— Состояние семафора ———
использовано массивов = 12
выделено семафоров = 124

# ipcs -usl
—— Пределы семафоров ———
максимальное количество массивов = 1024
максимум семафоров на массив = 250
максимум семафоров на всю систему = 256000
максимум операций на вызов семафора = 32
максимальное значение семафора = 32767

РЕШЕНИЕ

Очищаем текущие семафоры командой:
# ipcs -s | grep apache | perl -e ‘while (<STDIN>) { @a=split(/s+/); print `ipcrm sem $a[1]`}’

Поднимаем Apache:
# /etc/init.d/httpd restart

Проверяем:
# ipcs -s
# ipcs -us

Вариант избежать проблемы в дальнейшем.

Увеличить пределы семафоров, добавив в самый конец файла «/etc/sysctl.conf» строки вида:
kernel.msgmni = 1024
kernel.sem = 250 256000 32 1024

Применяем изменения:
# sysctl -p

Проверяем:
# ipcs -usl


Powered by vBulletin® Version 4.2.5 Copyright © 2023 vBulletin Solutions Inc. All rights reserved. Перевод: zCarot

It is a bit misused term error if «maxclients REACHED server setting, consider raising the maxclients setting“. It’s more of a notification administratorThe server has been warned that the «MaxClients» limit has been exceeded. It is true that exceeding this limit leads to the instability of the Apache server and automatically to problems in the functioning of the web sites hosted on the server.

Maxclients this Apache directive that sets request limit numberSites that can be served simultaneously. All inquiries that will be made beyond this limit will be put on hold until a number set by the value of the directive. ListenBacklog. If servers using prefork, Maxclients translates to the maximum number of processes launched to serve requests. Limit default of simultaneous requests set by the «MaxClients» directive is 150. If we increase this limit, we must also consider increasing the value of the directive ServerLimit (sets the maximum value for the lifetime of Apache processes). ServerLimit is set default la 256. Increase value maxclients must be directly proportional to ServerLimit. Apache Web Server
Be careful, however, because increasing these two limits well above the default values ​​can prevent the Apache server from running and the operating system from being unstable. As much as the value ServerLimit is higher, the more additional memory (shared memory) will be assigned.

If you encounter the error «[error] server reached MaxClients setting, consider raising the MaxClients setting”(Visible in Apache Error Log) And you decide to change the values ​​that we talked about above, you can do this in two ways.

1. Using the WHM you can change the values ​​of Main >> Service Configuration >> Apache Configuration >> Global Configuration (Applies to servers that have installed cPanel / WHM)

2. Change values ServerLimit si Maxclients by editing httpd.conf. Usually, httpd.conf can be found in «/usr/local/apache/conf/httpd.conf».

After changing the values ​​in httpd.conf, restartyou have the apache server. (httpd service restart).

Stealth Settings — Fix Apache Error : server reached MaxClients setting.

how to » Linux » Apache » [Apache fix Error] server reached MaxClients setting, consider raising the MaxClients setting

Founder and editor Stealth Settings, from 2006 to the present. Experience on operating systems Linux (in particular CentOS), Mac OS X, Windows XP> Windows 10 si WordPress (CMS).

Понравилась статья? Поделить с друзьями:
  • Error serial was not declared in this scope
  • Error serial does not name a type
  • Error sequence contains no matching element
  • Error sending to rk7srv
  • Error sending to rk7