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

«На устройстве не осталось места: AH00023: не удалось создать мьютекс mpm-accept» при перезапуске httpd

Мой сервер иногда заполняется соединениями в apache, застрявшими в состоянии «Отправка ответа», что требует перезапуска apache. В большинстве случаев это работает, но иногда я получаю эту ошибку при попытке перезапустить apache:

Задание для httpd.service завершилось неудачно, поскольку процесс управления завершился с кодом ошибки. См. "Systemctl status httpd.service" и "journalctl -xe" для подробностей.

Бег systemctl status httpd.service или journalctl -xe как предлагается, затем возвращает следующую соответствующую информацию:

15 ноября, 06:24:06 hostname.biologyreporter.com systemd-logind [874]: не удалось удалить каталог времени выполнения / run / user / 1067: устройство или ресурс занят

15 ноября, 06:24:27 hostname.biologyreporter.com restartsrv_httpd [29484]: [Пятница, 15 ноября 06: 24: 27.255594 2019] [core: Emerg] [pid 29509: tid 47498001208384] (28) На устройстве не осталось места: AH00023 : Не удалось создать мьютекс mpm-accept

15 ноября, 06:24:27 hostname.biologyreporter.com restartsrv_httpd [29484]: (28) На устройстве не осталось места: не удалось создать мьютекс принятия

15 ноября, 06:24:27 hostname.biologyreporter.com restartsrv_httpd [29484]: AH00015: Невозможно открыть журналы 15 ноября 06:24:27 hostname.biologyreporter.com systemd [1]: httpd.service: процесс управления завершен, код = статус выхода = 1

15 ноября, 06:24:27 hostname.biologyreporter.com systemd [1]: не удалось запустить веб-сервер Apache, управляемый cPanel EasyApache.

- Тема: Ошибка модуля httpd.service

Затем может потребоваться около 10 минут для фактического перезапуска apache и возобновления работы веб-сайта. Я не знаю, почему он говорит "На устройстве не осталось места" как работающий df, например, возвращает следующее (нигде не занято 100% места):

Filesystem     1K-blocks      Used Available Use% Mounted on
devtmpfs         3973024         0   3973024   0% /dev
tmpfs            3983400         0   3983400   0% /dev/shm
tmpfs            3983400    255296   3728104   7% /run
tmpfs            3983400         0   3983400   0% /sys/fs/cgroup
/dev/sda2      952008348 137586024 766039760  16% /
/dev/sda1         999320    134892    795616  15% /boot
/dev/loop0       3997376      8856   3778808   1% /tmp
tmpfs             796684         0    796684   0% /run/user/0
tmpfs             796684         0    796684   0% /run/user/1022

Мне не удалось найти какой-либо достоверной информации о причине и решении конкретной ошибки (ошибок), перечисленных выше («На устройстве не осталось места: AH00023: не удалось создать мьютекс mpm-accept» и «Не удалось удалить каталог времени выполнения / run / user / 1067: устройство или ресурс занят »). Что мне делать, чтобы решить эту проблему, чтобы эти ошибки не появлялись, а apache всегда перезагружался без проблем?

Скорее всего, это вызвано ограничением семафоров ОС, а Apache не очищает должным образом после себя.

Подробнее об ограничениях семафоров https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/tuning_and_optimizing_red_hat_enterprise_linux_for_oracle_9i_and_10g_databases/sect-oracle_9i_and_10g_tuning_guide-setting_parating_guide-setting_setting_guide-setting_semeters

Эти ошибки означают, что в системе не хватает ресурсов связи внутри процесса, таких как семафоры или сегменты разделяемой памяти. Попробуйте запустить следующий, чтобы увидеть, достигнут ли предел семафоров, и посмотрите результаты:

ipcs -s | wc -l

cat /proc/sys/kernel/msgmni

cat /proc/sys/kernel/sem

Выполните следующую команду через SSH или консоль и посмотрите, поможет ли это:

ipcs -s | awk -v user=apache '$3==user {system("ipcrm -s "$2)}'