Posts Tagged ‘overcommit’

VMWare ESX: Hyper-V and memory overcommit? forget it!

Thursday, December 18th, 2008

Hyper-V Manager error when trying to start my 4th virtual machine:

  • An error occurred while attempting to change the state of virtual machine. Unable to allocate MB of RAM. Insufficient system resources exist to complete the requested service. etc…

 Hyper-V Memory

Before I reinstall my test Dell PowerEdge 2900 Quad core server I wanted to share this with you. Hyper-V does not support memory overcommitment and I don’t like that. The virtual host has 8GB or RAM and I want to run more VMs than just 6 of those; the OS uses almost 1GB and less than 7GB is available for VMs.
Some weeks ago I read about  memory overcommitment feature which is available for VMWare’s ESX/ESXi servers.

What is Memory Overcommitment?

Memory overcommitment is not a feature in itself, but a collection of technologies out of which “transparent page sharing” is the most interesting in my opinion. The usefulness of transparent page sharing will spring to mind immediately if you consider VDI environments. There, host machines typically run large numbers of identical client operating systems with the same applications installed on them. Since all the clients/guests run the same application set, most of the code pages they need to keep in memory are identical. Each guest keeps separate copies of all system and application EXEs and DLLs in memory – what a waste!

Now consider the following: in memory program code is organized in units of pages. If you had a component that identified all those identical pages in each guest’s virtual memory and map them to one set of pages in the host’s physical memory, you could reduce the code memory footprint of n virtual machines to that of one single virtual machine. And that is in a nutshell what VMware’s “transparent page sharing” does.

I only want to run different VMs of Windows Server 2003 or Windows Server 2008 and install additional components to test them with each other. With Hyper-V server I can only commit the physical memory available and additional VMs.
 
Related links: