How to view the current semaphore values

To view the maximum number of semaphores and semaphore sets which can be created, type:

cat /proc/sys/kernel/sem


File description: /proc/sys/kernel/sem

This file contains 4 numbers defining limits for System V IPC semaphores. These fields are, in order:

SEMMSL - The maximum number of semaphores in a sempahore set.
SEMMNS - A system-wide limit on the number of semaphores in all semaphore sets. The maximum number of sempahores in the system.

SEMOPM - The maximum number of operations in a single semop call

SEMMNI - A system-widerff limit on the maximum number of semaphore identifiers (sempahore sets)





How to change the semaphore values on Linux


# echo 250 32000 256 256 > /proc/sys/kernel/sem

# cat /proc/sys/kernel/sem
250 32000 256 256



To make the change permanent, add or change the following line in the file /etc/sysctl.conf. This file is used during the boot process.


# echo "kernel.sem = 250 32000 256 256" >> /etc/sysctl.conf




Revised file content for /etc/sysctl.conf


# more /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
kernel.sem=250 32000 256 256


# cat /proc/sys/kernel/sem
250 32000 256 256

+ Recent posts