Xen Huge Pages

Huge Pages

  • Huge pages is also known as superpages in FreeBSD, and large pages in Microsoft Windows terminology.
  • Newer AMD64 processors can use 1GB pages in long mode.
  • Linux has supported huge pages on several architectures since the 2.6 series via the hugetlbfs filesystem.
  • Xen supports allocating huge pages for guest. Itself doesn't use huge pages.

Use huge pages in Xen

  • Specify the hypervisor boot command line flag allowsuperpage (it was called allowhugepage before).

  • Create the VM with option superpages = 1.


    1. This option is for PV guest only; it has no effect to HVM guest.

    2. With this option, PV guest memory and maxmem must be 2M aligned. Otherwise the VM cannot be started.

  • Specify the Linux boot command line flag balloon_hugepages.

  • In the guest:

    # echo 20 > /proc/sys/vm/nr_hugepages
    # cat /proc/meminfo
    AnonHugePages:         0 kB
    HugePages_Total:      20
    HugePages_Free:       20
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:       2048 kB
    DirectMap4k:     1056768 kB
    DirectMap2M:           0 kB