Kernel parameter requirements (Linux)
The database manager uses a formula to automatically adjust kernel parameter settings and eliminate the need for manual updates to these settings.
Interprocess communication kernel parameters
When instances are started, if an interprocess communication (IPC) kernel parameter is below the
enforced minimum value, the database manager updates it to the enforced minimum value.
The IPC kernel parameter
values change when a Db2® instance is
started.
Attention: The IPC kernel parameter values changed when a Db2 instance is started
do not persist when the system is rebooted. After a restart, kernel settings might be lower than the
enforced values until a Db2 instance is started.
By adjusting any kernel parameter settings, the database prevents unnecessary resource
errors.
IPC kernel parameter | Enforced minimum setting |
---|---|
kernel.shmmni (SHMMNI) | 256 * <size of RAM in GB> |
kernel.shmmax (SHMMAX) | <size of RAM in bytes>1 |
kernel.shmall (SHMALL) | 2 * <size of RAM in the default system page size>2 |
kernel.sem (SEMMNI) | 256 * <size of RAM in GB> |
kernel.sem (SEMMSL) | 250 |
kernel.sem (SEMMNS) | 256 000 |
kernel.sem (SEMOPM) | 32 |
kernel.msgmni (MSGMNI) | 1 024 * <size of RAM in GB> |
kernel.msgmax (MSGMAX) | 65 536 |
kernel.msgmnb (MSGMNB) | 65 536 3 |
|
Enforced minimum kernel parameter settings
When instances are started, if a kernel parameter is below the enforced minimum value, the
database manager updates it to the enforced minimum value. The kernel parameter values change when a
Db2 instance is
started.
Attention: The kernel parameter values changed when a
Db2 instance is started do not persist when the system is rebooted. After a reboot, kernel settings
might be lower than the enforced values until a Db2instance is started.
By adjusting the kernel parameter settings, the database manger prevents unnecessary resource
errors.
Kernel parameter | Enforced minimum value |
---|---|
fs.file-max | 16384 |
vm.max_map_count | <size of RAM in bytes> / 4096 |
kernel.panic_on_oops | 51 |
|
Other recommended kernel parameter settings
Other recommended kernel
parameter settings are listed in the following table.
Recommended kernel parameter setting | Configuring the kernel parameters for Db2 data server |
---|---|
vm.swappiness=5 | This parameter defines how prone the kernel is to swapping application memory
out of physical random access memory (RAM).
The
default setting is vm.swappiness=60 . The recommended kernel parameter
setting, vm.swappiness=5 , gives preference to
the application memory in RAM instead of assigning more memory for file caching. |
vm.overcommit_memory=0 | This parameter influences how much virtual memory the kernel permits
allocating. The default setting is
vm.overcommit_memory=0 . This setting means
that the allocated virtual memory is unlimited. Having unlimited virtual memory is important for
Db2 data
servers, which retain extra unused virtual memory allocations for dynamic memory management.
Unreferenced allocated memory is not backed by RAM or paging space on Linux systems. Avoid setting
vm.overcommit_memory=2 , as this setting
limits the total amount of virtual memory that can be allocated, which can result in unexpected
errors. |
ipcmni_extend |
This parameter is recommended on newer Linux Red Hat kernels as these kernels can limit some parameters such as SHMMNI, SEMMNI and MSGMNI to 32768. If users have over 128GB of RAM, then the recommendations will not work unless the ipcmni_extend parameter is set. For more information, see db2start fails due to enforcement of maximum semaphore arrays on newer Linux Kernels. |