Tuesday 1 August 2017

Apache daemon doesn't start : No space left on device

I came across this condition various times, if search on the google you will get lots of solutions and most of those will suggest to kill semaphores and restart Apache like below.

When you get No space left on device even you have enough space left on server. You can check open semaphores with below command

#ipcs -s


------ Semaphore Arrays --------
key        semid      owner      perms      nsems     
0x00000000 655360     apache     600        1         
0x00000000 753665     apache     600        1   


If you see list of semaphores which owns by Apache, you need to kill them and restart Apache. 

#for semid in `ipcs -s | grep apache | cut -f2 -d" "`; do ipcrm -s $semid; done

Most of the time it works, but sometime we need to increase semaphore array limits specially when we have large number of Virtual Hosts in Apache. Default semaphore array limit is 128, some time we need to increase it as per our requirements.

You can check current limit with below command.

#ipcs -ls  

or

#cat /proc/sys/kernel/sem

To increase limits, edit /etc/sysctl.conf and append below line in file. 

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

Once you done run below command.

#sysctl -p

Hope this help.

No comments:

Could not start a new session. Response code 500. Message: Failed to read marionette port

There is bug in firefox binary installed using apt/snap, I faced same issue when I installed firefox from apt package respository. I solved ...