7.15 How is the HugePages Feature Enabled for Virtual Machines?

Paging is a process whereby the CPU, for a system, allocates contiguous blocks of memory for use by a running process. These pages are tracked by the operating system, so that processes access the correct blocks of assigned memory. Typically, these blocks are sized at 4 KB. This means that when a process uses 1 GB of memory, 262144 page (1 GB/4 KB) entries are created and are referenced continually by the process.

Most current CPU architectures support bigger pages to reduce the number of page lookups required by the CPU or Operating System. On Linux systems, these are called HugePages, while on Windows systems they are called Large Pages. These terminologies are equivalent.

By default, HugePages are available for hardware virtualized virtual machines (HVM and PVHVM) when the new virtual machine is created.

For paravirtualized virtual machines (PVM), the Xen hypervisor must start the virtual machine with a specific parameter set to enable HugePages support. Oracle VM Manager provides an option to enable HugePages support for a paravirtualized virtual machine when you create or edit a virtual machine. However, the HugePages feature is deprecated for PVM guests as of Oracle VM Release 3.4.1. You should not enable HugePages when creating or editing PVM virtual machines in the Oracle VM Manager Web Interface or Oracle VM Manager Command Line Interface. This feature will be removed in a future release of Oracle VM.

You should not attempt to enable HugePages support for an HVM or PVHVM within Oracle VM Manager, as this functionality is not handled by the Xen hypervisor, but rather by the virtual machine itself.

If you have HugePages enabled for any PVM guests, Oracle recommends that you change the domain type for virtual machines from Paravirtualized (PVM) to Hardware virtualized, with paravirtualized drivers (PVHVM). If you cannot change the domain type for a virtual machine, you should disable the HugePages setting and then restart the virtual machine.

For HugePages to be supported in the virtual machine, depending on the operating system of the virtual machine, HugePages may need to be enabled inside the virtual machine. For example, in Linux, this is done by specifying the Linux boot command line flag balloon_hugepages inside the virtual machine.

For virtual machines running on SPARC architecture, HugePages are referred to as Large Pages and are always enabled by default. The Oracle VM Manager setting to enable or disable HugePages support has no effect on virtual machines running on Oracle VM Server for SPARC.

High Availability (HA) takes precedence over HugePages rules. For example, you have a server pool with two servers running in it. You enable HugePages on the virtual machines running on server A. You do not enable HugePages on the virtual machines running on server B. You also enable HA for all virtual machines on both servers. If either server A or server B stops running, then the virtual machines are migrated to the server that is still running. This migration occurs despite the rule that prevents virtual machines with different HugePage settings running on the same server.

See Create Virtual Machine in the Oracle VM Manager User's Guide for more information on this option.