Modifying kernel parameters (Linux)

Before installing DB2 UDB, you may want to update your Linux kernel
parameters. DB2 UDB automatically raises the IPC limits where necessary. You
might still want to raise these limits further depending on your particular


You must have root authority to modify kernel parameters.


To update kernel parameters:

RedHat and SuSE
Systems using a 2.4.x series kernel have a default value for the message
queue parameter (msgmni), which allows only a few simultaneous connections to
DB2. Semaphore array parameters also have to be changed for DB2 to run
successfully. To check shared memory segment, semaphore array, and message queue
limits, issue the ipcs -l command.

The following is the output from the ipcs -l command.

   # ipcs -l

------ Shared Memory Limits --------
max number of segments = 4096 // SHMMNI
max seg size (kbytes) = 32768
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1

------ Semaphore Limits --------
max number of arrays = 1024 // SEMMNI
max semaphores per array = 250
2 max semaphores system wide = 256000
max ops per semop call = 32
semaphore max value = 32767

------ Messages: Limits --------
max queues system wide = 1024 // MSGMNI
max size of message (bytes) = 65536
default max size of queue (bytes) = 16384 // MSGMAX

Modify the kernel parameters by adding the following entries to the default
system control configuration file, /etc/sysctl.conf:

2      kernel.msgmni = 1024
2 kernel.sem = 250 256000 32 1024


   max semaphores system wide = 
max number of arrays x max semaphores/array

Run sysctl with -p parameter to load in sysctl settings
from the default file /etc/sysctl.conf.

   sysctl -p 

The entries from the sysctl.conf file are read
during startup by the network initialization script.

On some distributions you may be required to add sysctl -p
in one of the system initialization files (for example, rc.local) so
that kernel parameters are set after each reboot.