Huge Page Support: Difference between revisions

From Xen
Jump to navigationJump to search
Line 44: Line 44:


* Huge Pages: [http://en.wikipedia.org/wiki/Page_%28computer_memory%29#Huge_pages Wikipedia entry for Huge Pages]
* Huge Pages: [http://en.wikipedia.org/wiki/Page_%28computer_memory%29#Huge_pages Wikipedia entry for Huge Pages]
* Linux Huge Pages: http://linux-mm.org/HugePages
* Huge Pages: [http://linux-mm.org/HugePages from Linux memory management site]
* Huge Page Document: [https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt from Kernel.org]
* Huge Page Document: [https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt from Kernel.org]
* The source document for this page: http://zhigang.org/wiki/XenHugePages
* The source document for this page: http://zhigang.org/wiki/XenHugePages

Revision as of 02:25, 2 May 2015

Icon Info.png This page is new and needs review for accuracy and completeness.


Huge Pages

  • Huge pages are also known as 'superpages' in FreeBSD (or 'large pages' in the Microsoft Windows world)
  • 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 Project supports allocating huge pages for guest. The hypervisor itself doesn't use huge pages.


Using Huge Pages

  • Specify the hypervisor boot command line flag `allowsuperpage` (it was called `allowhugepage` before).
  • Create the VM with option `superpages = 1`.

Notes:

  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


References