The database manager uses a formula to automatically adjust kernel parameter settings and eliminate the need for manual updates to these settings.
When instances are started, if an interprocess communication (IPC) kernel parameter is below the enforced minimum value, the database manager updates it to enforced minimum value. The IPC 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 DB2 instance is started. By adjusting any kernel parameter settings, the database manger prevents unnecessary resource errors.
For the most up-to-date requirements for DB2 database products, see http://www.ibm.com/support/docview.wss?uid=swg27038033.
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 |
|
Recommended kernel parameter setting | Configuring the kernel parameters for DB2 data server |
---|---|
vm.swappiness=0 | 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=0,
configures the kernel to give preference to keeping application memory
in RAM instead of assigning more memory for file caching. This setting
avoids unnecessary paging and excessive use of swap space. This setting
is especially important for data servers configured to use the self-tuning
memory manager (STMM). Important: Setting the vm.swappiness parameter
to 0 does not disable swapping.
|
vm.overcommit_memory=0 | This parameter influences how much virtual memory the kernel permits allocating. The default setting, vm.overcommit_memory=0, sets the kernel to disallow individual processes from making excessively large allocations, however the total allocated virtual memory is unlimited. Having unlimited virtual memory is important for DB2 data servers, which retain additional 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. |