14.5. Configuring Big Pages in Red Hat Enterprise Linux 2.1
Before configuring Big Pages, ensure to have read Section 14.3, “Sizing Big Pages and Huge Pages”.
Note that Big Pages in x86 Red Hat Enterprise Linux 2.1 can only be allocated and pinned above approximately 860MB of physical RAM which is known as
Highmem
or high memory region in x86. Thus, Big Pages cannot be larger than Highmem
. The total amount of memory in the high region can be obtained by reading the memory statistic HighTotal
from the /proc/meminfo
file:
$ grep "HighTotal" /proc/meminfo HighTotal: 9043840 kB $
The Big Pages feature can be enabled with the following command:
# echo "1" > /proc/sys/kernel/shm-use-bigpages
Alternatively, you can use
sysctl(8)
to change it:
# sysctl -w kernel.shm-use-bigpages=1
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.shm-use-bigpages=1" >> /etc/sysctl.conf
Setting
kernel.shm-use-bigpages
to 2 enables the Big Pages feature for the shared memory file system (shmfs
). Setting kernel.shm-use-bigpages
to 0 disables the Big Pages feature. In Red Hat Enterprise Linux 2.1 the size of the Big Pages pool is configured by adding a parameter to the kernel boot command. For example, if you use GRUB and you want to set the Big Pages pool to 1000 MB, edit the /etc/grub.conf
file and add the "bigpages
" parameter as follows:
default=0 timeout=10 title Red Hat Linux Advanced Server (2.4.9-e.40enterprise) root (hd0,0) kernel /vmlinuz-2.4.9-e.40enterprise ro root=/dev/sda2 bigpages=1000MB initrd /initrd-2.4.9-e.40enterprise.img title Red Hat Linux Advanced Server (2.4.9-e.40smp) root (hd0,0) kernel /vmlinuz-2.4.9-e.40smp ro root=/dev/sda2 initrd /initrd-2.4.9-e.40smp.img
After this change the system must be rebooted:
# shutdown -r now
After a system reboot the 1000 MB Big Pages pool should show up under
BigPagesFree
in /proc/meminfo
.
grep BigPagesFree /proc/meminfo
Note that if
HighTotal
in /proc/meminfo
is 0 KB, then BigPagesFree
will always be 0 KB as well since Big Pages can only be allocated and pinned above approximately 860MB of physical RAM.