14 DB2 10 for Linux on System z Using z/VM v6.2, SSI Clusters and LGR
ulimit -d Sets the maximum size of the process’s data segment.
ulimit -f Sets the file size limit in blocks.
If the minimum ulimit values are not met, the DB2 database engine could encounter
unexpected operating system resource shortage errors. These errors can lead to a DB2
database system outage.
3.2.2 Kernel parameters
Set up kernel parameters before you start the DB2 database. The default values may cause
issues such as memory starvation when running a DB2 database system
2
. To avoid such
issues,
semaphores and shared memory values should be updated. If you are able to install
DB2 as root, these parameters may be configured automatically.
Interprocess communication kernel parameters
The Linux interprocess communication (IPC) kernel parameters allow for multiple processes
to communicate with one another.
To improve DB2’s performance and memory usage, adjust several of these kernel
parameters. By doing so, the database manager prevents unnecessary resource errors.
Table 3-2 shows the recommended kernel parameters that should be modified.
Table 3-2 Recommended kernel parameters for modification
2
See the website for up-to-date information, under “Kernel parameter requirements (Linux)”:
http://publib.boulder.ibm.com/infocenter/db2luw/v10r1/
Parameter Description Recommended Value
kernel.shmmax Defines the maximum size of one
shared memory segment in bytes.
90% of total memory, but if you have
a large amount of storage you can
leave 512 MB to 1 GB for the
operating system instead.
kernel.shmall Define the available memory for shared
memory in 4KB pages.
You should convert the shmmax
value to 4 KB.
(shmmax value * 1024 / 4)
kernel.shmmni Define the maximum number of shared
memory segments.
4096. This amount enables large
segments to be created avoiding the
need for thousands of small shared
memory segments. This parameter
may vary depending on your
application.
kernel.sem Four values must be set in this
parameter. The first one is the number of
semaphores, the second indicates the
maximum number of semaphores. The
third is the maximum number of
semaphores operations within one
semop call. And the fourth limits the
number of allocatable semaphores.
250 256000 32 1024
kernel.msgmni Maximum number of queues on the
system
1024
kernel.msgmax Maximum size of a message in bytes 65536
kernel.msgmnb Default size of a queue in bytes 65536