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
1 comment

Leave a comment