Introduction to Transparent Page Sharing
Using Transparent Page Sharing (TPS) multiple virtual machines could share pages if the contents of the pages were same. If multiple virtual machines running the same Operating System pages having identical content can exist on a host. Once hypervisor identifies the pages having similar hash value for multiple virtual machines on a host, it shares the pages among virtual machines by creating pointers. This helps in freeing up memory on the host for new pages. Understanding security concern Transparent Page Sharing is disabled by default on the ESXi host and can be enabled at any point of time.
Impact of Disabling Transparent Page Sharing in VMware Horizon environment
In a VMware Horizon Deployment running 100’s of virtual desktops having similar operating system in a pool TPS can saves significant amount of physical memory on ESXi host by creating pointers for similar pages instead of a duplicate page. If you are upgrading an existing VMware VDI environment, you might see heaving memory utilization on the ESX host.
Configuring Transparent Page Sharing in VMware Horizon Environment
Post accessing the security risk associated with enabling Transparent Page Sharing in a desktop environment, you can configure TPS based on a desktop pool settings.
As you can see in screenshot below Transparent Page Sharing have 4 scopes to choose.
- Virtual Machine – Virtual Desktops in this pool will not participate in Inter-VM TPS.
- Desktop Pool – Virtual Desktops in this pool will participate in Inter-VM TPS with all desktops with in the same pool.
- Pod – Virtual Desktops in this pool will participate in Inter-VM TPS with other desktops belonging to same pod.
- Global – Virtual Desktops in this pool will participate in Inter-VM TPS with other desktops belonging to same as well as different pod.
You can configure Inter VM-TPS can under advanced storage setting at the time of creating pool or after creating pool. In a environment, where non-view virtual machines and view virtual machines co-exist on the same ESXi host and Transparent Page Sharing is desired, then the approach should be to enable Transparent Page Sharing on the ESXi host by Changing the ESXi setting Mem.ShareForceSalting in every desired host to “0”
I hope this will be informative for you. Thanks for Reading. Do share it on social media if you find it worth sharing. Happy Learning :-).