Hugepages can be allocated using the /proc/sys/vm/nr_hugepages entry, or by using the sysctlcommand.
To view the current setting using the /proc entry:
# cat /proc/sys/vm/nr_hugepages
0
To view the current setting using the sysctl command:
# sysctl vm.nr_hugepages
vm.nr_hugepages = 0
To set the number of huge pages using /proc entry:
# echo 5 > /proc/sys/vm/nr_hugepages
To set the number of hugepages using sysctl :
# sysctl -w vm.nr_hugepages=5
vm.nr_hugepages = 5
It may be necessary to reboot to be able to
allocate all the hugepages that is needed. This is because hugepages requires
large areas of contiguous physical memory. Over time, physical memory may be
mapped and allocated to pages, thus the physical memory can become fragmented.
If the hugepages are allocated early in the boot process, fragmentation is
unlikely to have occurred.
It is recommended that the /etc/sysctl.conf file should be used to allocate hugepages
at boot time. For example, to allocate 5 hugepages at boot time add the line
below to the sysctl.conf file
:
Before configuring Huge Pages, ensure to have read Sizing Big Pages and Huge Pages
Sizing Big Pages and Huge Pages
With the Big Pages and Huge Pages feature you specify how many physically contiguous large memory pages should be allocated and pinned in RAM for shared memory like Oracle SGA. For example, if you have three Oracle instances running on a single system with 2 GB SGA each, then at least 6 GB of large pages should be allocated. This will ensure that all three SGAs use large pages and remain in main physical memory. Furthermore, if you use ASM on the same system, then I recommend to add an additional 200MB. I’ve seen ASM instances creating between 70 MB and 150 MB shared memory segments. And there might be other non-Oracle processes that allocate shared memory segments as well.
It is, however, not recommended to allocate too many Big or Huge Pages. These preallocated pages can only be used for shared memory. This means that unused Big or Huge Pages won’t be available for other use than for shared memory allocations even if the system runs out of memory and starts swapping. Also take note that Huge Pages are not used for the ramfs shared memory filesystem,
Comments
Post a Comment