Increase semaphores count in a Linux machine
How much IPC resources are used can be found using ‘ipcs’ command:
# ipcs -a
To solve this problem you can restart Apache, Postgres and other services that consumer many IPC resources or increase limit of the resources in the system using ‘sysctl’. When you stop all services the semaphores and shared memory segments have to be removed, if not, and you still able to see them using ‘ipcs’ command, try to remove them manually using ‘ipcrm’ command. For example to remove semaphore:
# ipcs -a
...
------ Semaphore Arrays --------
key semid owner perms nsems
0x00000000 201293824 apache 600 1
...
# ipcrm -s 201293824
See ‘man ipcrm’ for more information.
Below is the example how to increase number of semaphores on Fedora Core 4.
get current semaphores value:
# /sbin/sysctl -a | grep sem
kernel.sem = 200 32000 32 128
set new value:
# /sbin/sysctl -w kernel.sem=250
add new value into /etc/sysctl.conf in order the changes persist after system boot:
kernel.sem = 200
Pingback: Bookmarks about Semaphore