When restarting or starting the Apache HTTPD server in Linux web server, the startup failed and the following error occurred in error log:

[error] (28)No space left on device: Cannot create SSLMutex Configuration Failed

The error indicates that system is running out of IPC (Inter-Process Communication) resources, such as semaphore arrays, message queues or shared memory segments.

Login to the system via SSH or console, and use the following command to check the status and information of IPC facilities.

$ ipcs

The output of the command looks like the following:

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status
0x01022bf8 4096000    root       600        1200712    111

------ Semaphore Arrays --------
key        semid      owner      perms      nsems
0x00000000 0          root       600        1
0x00000000 32769      root       600        1
0x00000000 18186242   apache     600        1
0x00000000 18513923   apache     600        1
0x00000000 18841604   apache     600        1
0x00000000 19759109   apache     600        1
0x00000000 20086790   apache     600        1
0x00000000 20119559   apache     600        1
0x00000000 20152328   apache     600        1
0x00000000 19005449   root       600        1
0x00000000 20185098   apache     600        1
0x00000000 20217867   apache     600        1

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages

There should be a lot of semaphores used by Apache. To resolve the error, kill all those Apache processes by using the following command:

$ ipcs -s | grep apache | perl -e 'while (<STDIN>) {@a=split(/\s+/); print `ipcrm sem $a[1]`}'

Then, restart the Apache HTTPD web server service with the following command:

$ service httpd restart

Apache should now be started and running properly.