Не запускается apache. В error логе: (28)No space left on device: AH02478: failed to create proxy mutex. Место есть!
В некоторых случаях, получается очень странная ситуация. Веб-сервер apache не запускается, в логе ошибок мы видим сообщения вида:
(28)No space left on device: AH02478: failed to create proxy mutex
но место на диске есть. Что делать?
Довольно редкая ошибка, связанная с неправильной реализацией работы apache с семафорами. Сообщение "No left space on device" относится в данном случае не к месту на диске, а к месту в таблице семафоров ядра Linux. Чтобы запустить apache, достаточно либо перегрузить сервер, либо почистить семафоры, которые остались активными в ядре, но которые не использует ни один процесс apache по причине того, что таковых процессов в системе уже просто нет.
Почистить можно с помощью следующего bash-скрипта:
sems=$(ipcs -s | grep apache | awk --source '/0x0*.*[0-9]* .*/ {print $2}') for sem in $sems do ipcrm sem $sem done
обратите внимание, что мы считает, что владельцем семафоров является пользователь apache. На системах, где пользователь у процесса httpd (apche в debian и ubuntu) другой, вам необходимо использовать вместо "grep apache" имя нужного пользователя.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- 1437 просмотров