
Let's say the following is being returned when attempting to start one or more Apache web server instances.
No space left on device AH00023 Couldn't create the mutex
This typically implies that the Operating System has reached it's semaphore limit. The ipcs command with the -s or --semaphores flag can be used to display the semaphores currently in used. Notice the output includes semid (semaphore ID).
[root@server1 ~]# ipcs --semaphores
------ Semaphore Arrays --------
key semid owner perms nsems
0x00000000 131073 nobody 600 1
0x00000000 196610 nobody 600 1
0x00000000 131076 nobody 600 1
0x00000000 5 nobody 600 1
0x00000000 131078 nobody 600 1
0x00000000 7 nobody 600 1
The ipcs command with the -s or --semaphores flag and -i or --id option can be used to get the process ID (PID) associated with the semaphore. In this example, semaphore ID 131073 is associated with PID 129086.
[root@server1 ~]# ipcs -s -i 131073
Semaphore Array semid=131073
uid=99 gid=99 cuid=0 cgid=0
mode=0600, access_perms=0600
nsems = 1
otime = Tue Aug 3 00:00:12 2021
ctime = Mon Aug 2 23:56:16 2021
semnum value ncount zcount pid
0 1 0 0 129086
The ps command can be used to display details on the process.
[root@server1 ~]# ps -ef | grep 129086
nobody 129086 126409 0 00:00 ? 00:00:00 /path/to/bin/httpd -d /path/to -f /path/to/conf/httpd90.conf -k start
The kill command can be used to kill the PIDs that are being used.
kill -9 129086
Sometimes, "no such process" may be returned.
[root@server1 ~]# kill -9 12345
bash: kill: (12345) - No such process
The ipcrm command with the -s or --semaphore-id option can be used to remove semaphores.
[root@server1 ~]# ipcrm -s 131073
Did you find this article helpful?
If so, consider buying me a coffee over at