ESXi 5.1U3 and future Update releases of ESXi 5.0 and 5.5 including ESXi 6.x have TPS disabled, however this can be enabled in the advanced settings of the host.
Technically it's still there and enabled but it is only creating pointers for duplicate memory pages at the individual VM level, so there is no inter-VM page sharing taking place.
If you don't know the full details of why this is you can read all about it on VMware's KB..
Security considerations and disallowing inter-Virtual Machine Transparent Page Sharing (2080735)
When it comes to a Horizon View deployment with desktop pools containing 100's of desktops this is a feature which saves lot of physical memory on the ESXi hosts, by creating pointers to an identical page in memory rather than duplicating a page.
Having this disabled by default can cause the design and specification of a Horizon View environment to change significantly, as memory saving of between 10% and 40% can be achieved with it enabled.
If you are upgrading an existing View environment you need to be acutely aware of this, as you the memory on your hosts may become contented if you were close to the limit.
If you have assessed and approved the security risk associated with enabling TPS in a desktop environment, you can from within the nice Horizon View web GUI enable TPS based on a desktop pool setting.
That's right based on a desktop pool setting!
So you could have a number of general desktop pools with many 100's of desktops which do not have a security requirement to have TPS disabled, as such you can enable it on those pools at the pod or global level.
Likewise you may have a more secure desktop pool which must have TPS disabled and you can use TPS at the VM level or pool level for this secure desktop pool.
You configure the TPS scope within Horizon View Administrator at the pool level. This can be done when creating a new desktop pool or by editing an existing pool.
This applies to both full clone and linked clone (View Composer) desktop pools.
You will find the setting under "Advanced Storage Options", which is interesting as it doesn't really have anything to do with storage!
You can set the "Transparent Page Sharing Scope" to a number of options:
- Virtual Machine (is the default)
- Desktop Pool
You may choose to set this to Pod or Global to get maximum memory savings in your Horizon View environment, however you can set different pools to different settings based on your requirements.