Virtualization, High Performance Computing, Healthcare IT, Enterprise Computing
I was recently asked what was required to enable vSphere to take advantage of Intels hardware memory management unit (MMU) virtualization technology, called Extended Page Tables™ (EPT). If you aren’t aware EPT improve performance for MMU heavy workloads.
While the setting varies from vendor to vendor, all you do is enable Intel Virtualization in the ESX BIOS, and vSphere will do what it thinks is best with regards to hardware vs software MMU with no intervention required.
If you want to dive deeper, See page 21 of The vSphere Performance Best Practices Guide. under Configuring ESX for Hardware-Assisted Virtualization.
Especially note that vSphere will use the hardware MMU sometimes, and software MMU sometimes, depending on a mix of factors. See:
for the default settings matrix when the VM is set to Automatic for CPU/MMU Virtualization (the default) . See the best practices guide mentioned above for how to change from Auto if you want to override the VMware recommendation like in the screenshot below:
In a nutshell, you give up TPS for EPT because for EPT to be really effective large memory pages are used, but using large memory pages really reduces the odds ( i.e. makes it impossible) to find two pages of identical memory to be shared. Under heavy memory pressure, vSphere will break down the large pages into smaller pages in order for TPS to kick in before it has to resort to swapping.
Incidentally Large Memory Pages is one reason Microsoft decided against implementing TPS in Hyper-V. . Microsoft has enabled large pages by default in 2008/2008 R2/Windows 7. While it may be in the future TPS will have diminished importance, it is a nice feature to get ( for free ) today on vSphere.