Skip to main content



Database server

developerWorks

General DB2 Informix Oracle
   Recommendations  |   Performance papers  |   More
  FICON/ECKD or FCP/SCSI for database disks
  Scaling storage servers
  Disk setup
  Linux kernel 2.6 - I/O options
  ext2 or ext3 filesystem?
  Tuning read ahead / prefetch features
  31-bit vs. 64-bit database architectures
  Shared memory setup
  Swapping
Shared memory setup

If the Linux system is exclusively used as a database server, using approximately 60% of the available memory for database buffer pools is a good starting point. Normally the database buffer pools are allocated within shared memory. So don't forget to adapt the Linux kernel shared memory limits in order to allow the allocation of the appropriate shared memory chunks. Kernel parameter changes are normally done within /etc/sysctl.conf. Ensure that your Linux distribution has the sysctl service enabled, so that the sysctl config file is read at boot time. For example, we used the values below for a database performance test.

Linux memory

kernel.shmall

kernel.shmmax

kernel.shmmni

------------

-------------

-------------

-------------

2GB

400000

1700000000

4096

4GB

921600

3774873600

4096

8GB

1971200

8074035200

4096

12GB

3020800

12373196800

4096

16GB

4070400

16672358400

4096

20GB

5120000

20971520000

4096

24GB

6169600

25270681600

4096

kernel.shmall: available memory for shared memory in 4K pages
kernel.shmmax: maximum size of one shared memory segment in byte
kernel.shmmni: maximum number of shared segments

Back to top



Team
Please address any comments to the performance team: linux390@de.ibm.com