Questo contenuto non è disponibile nella lingua selezionata.
8.3.3.2. Configuring Static Huge Pages
In some cases, greater control of huge pages is preferable. To use static huge pages on guests, add the following to the guest XML configuration:
<memoryBacking> <hugepages/> </memoryBacking>
This instructs the host to allocate memory to the guest using huge pages, instead of using the default page size.
To view the current huge pages value, run the following command:
cat /proc/sys/vm/nr_hugepages
Procedure 8.1. Setting huge pages
The following example procedure shows the commands to set huge pages.
- View the current huge pages value:
# cat /proc/meminfo | grep Huge
AnonHugePages: 2048 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB - Huge pages are set in increments of 2MB. To set the number of huge pages to 25000, use the following command:
echo 25000 > /proc/sys/vm/nr_hugepages
Note
To make the setting persistent, add the following lines to the/etc/sysctl.conf
file on the guest machine, with X being the intended number of huge pages:# echo 'vm.nr_hugepages = X' >> /etc/sysctl.conf # sysctl -p
Afterwards, addtransparent_hugepage=never
to the kernel boot parameters by appending it to the end of the/kernel
line in the/etc/grub2.cfg
file on the guest. - Mount the huge pages:
# mount -t hugetlbfs hugetlbfs /dev/hugepages
- Restart libvirtd, then restart the virtual machine:
# service libvirtd restart
Stopping libvirtd daemon: [ OK ] Starting libvirtd daemon: [ OK ]# virsh start virtual_machine
- Verify the changes in
/proc/meminfo
:# cat /proc/meminfo | grep Huge
AnonHugePages: 0 kB HugePages_Total: 25000 HugePages_Free: 23425 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB
Huge pages can benefit not only the host but also guests, however, their total huge pages value must be less than what is available in the host.