Ошибка apache: No space left on device: Couldn’t create accept lock но место есть

Итак имеем сервер с кучей сайтов. В какой-то момент на сервере лег apache с ошибкой:

No space left on device: Couldn’t create accept lock (/etc/httpd/logs/accept.lock)

Поиски решения проблемы натолкнули меня на мысль, что проблема в semapfores ядра.

В сети есть скрипты, которые помогут очистить таблицу семафоров.

Посмотреть кто использует семафоры можно командой: ipcs -s

Если вы видите в таблице пользователя apache, httpd вам надо почистить таблицу и все заработает. Но в моем случае проблема была не в apache, а в отсутствии свободных семафоров в ядре.

Поправим это:

nano /etc/sysctl.conf

добавляем две строки:

kernel.msgmni = 1024
kernel.sem = 250 256000 32 10241

и применим изменения командой:

sysctl -p

Все, теперь apache стартует. Данная статья относится к тонким настройкам сервера.