Steps to resolve the error Apache Error: “semget: No space left on device”

If apache does not start , then please check the error logs with cpanel. The error

“semget: No space left on device” shows that  that your server has run out of semaphores.

To check how many semaphores are being used, login to your server as root and run the following:

ipcs –s

Now to bring up the Apache service again, one has to clear the semaphores.

And for that execute the following command:

for whatever in `ipcs -s | awk ‘{print $2}’`; do ipcrm -s $whatever; done

Above command may not work with old servers. In that case, you have to do the following :

/sbin/service httpd stop
ipcs -s | grep nobody | gawk ‘{ print $2 }’ | xargs -n 1 ipcrm sem
/sbin/service httpd start

If this is a common issue occurring , you may want to increase the semaphore limits on your hosting server.

You can do that by adding the following to the /etc/sysctl.conf file:

# For increasing the semaphore limits & extend Apache’s uptime:

kernel.msgmni = 512
kernel.sem = 250 128000 32 512

Later on a user can load the new settings into the kernel:

sysctl -p

That’s it

Share on Twitter
Share on Facebook




Friday November 27th starts at 9am EST.
While supplies last!