A. Some hypervisors, such as VMware's, perform Transparent Page Sharing (TPS). TPS examines the memory of all virtual machines on a host and pages that contain the same data between the guests are stored only once in memory and shared. If you imagine having five copies of Windows Server 2008 running on a single host, a huge amount of the information in memory for the OS will be the same, so TPS can save you a lot of physical host memory usage. See this FAQ and this FAQ for more about TPS.
With Server 2008 and later, key areas of memory that could be attacked through buffer overruns, use ASLR so that the same memory areas aren't always used for specific pieces of code. Because the core OS code could be located in 256 possible places, no two Server 2008 or above OS instances would use the same areas of memory for pieces of OS code. The concern is that this would break TPS.
The good news is that studies have found that even with ASLR enabled, TPS will find a lot of duplicated content in memory, saving on physical host memory usage for multiple guest OS instances. While the total amount of memory used for each OS has increased, this increase is probably due to the Server 2008 and Vista OSs actually using more memory than Windows Server 2003 and Windows XP.Related Reading:
- Q. How long does it take for VMware Transparent Page Sharing (TPS) to find all duplicate pages of memory for a virtual machine (VM)?
- Q. I heard that VMware ESX allows you to overcommit memory, which means it pages out the memory of guests to a file, giving very poor performance. Is this true?
- Review: VMware ESXi
- Q. Does VMware ESX 3.5 require a 64-bit processor with hardware virtualization features?
Check out hundreds more useful Q&As like this in John Savill's FAQ for Windows. Also, watch instructional videos made by John at ITTV.net.