Show Table of Contents
7.3. Setting SHMALL Parameter
This parameter sets the total amount of shared memory pages that can be used system wide. Hence, SHMALL should always be at least
The default size for SHMALL in Red Hat Enterprise Linux 2.1, 3, 4 and 5 is 2097152 which is also Oracle's recommended minimum setting for 9i and 10g on x86 and x86-64 platforms. In most cases this setting should be sufficient since it means that the total amount of shared memory available on the system is 2097152*4096 bytes
(shmall*PAGE_SIZE)which is 8 GB.
PAGE_SIZEis usually 4096 bytes unless you use Chapter 14, Large Memory Optimization, Big Pages, and Huge Pages which supports the configuration of larger memory pages.
If you are not sure what the default
PAGE_SIZEis on your Linux system, you can run the following command:
$ getconf PAGE_SIZE 4096
To determine the system wide maximum number of shared memory pages, run:
# cat /proc/sys/kernel/shmall 2097152
The default shared memory limit for SHMALL can be changed in the
procfile system without reboot:
# echo 2097152 > /proc/sys/kernel/shmall
Alternatively, you can use
sysctl(8)to change it:
# sysctl -w kernel.shmall=2097152
To make the change permanent, add the following line to the file
/etc/sysctl.conf. This file is used during the boot process.
# echo "kernel.shmall=2097152" >> /etc/sysctl.conf