Friday, November 11, 2005

If your Apache ever runs out of semaphores... - Henri Bergius:
If you get this error message when trying to start Apache, then you're out of semaphores:

# apachectl start
Ouch! ap_mm_create(1048576, "/var/run/") failed
Error: MM: mm:core: failed to acquire semaphore (No space left on device): OS: Invalid argument
/usr/sbin/apachectl start: httpd could not be started
The easy fix is to just remove all semaphores owned by Apache:

# ipcs | egrep apache | awk '{print $2}' | xargs -n1 ipcrm;
Got the fix from cacti forum.

(Via Planet PHP.)

I've had this problem before. Really bad when it happens on a production server, as the server is down for a few minutes while I remember/lookup the command. Thankfully its only happened once.