I’ve been playing around with Hyper-V in the last couple of days and I’m in the process of setting up some servers. In the process, I noticed that Hyper-V on Windows 8 (at least?) now has the ability to assign dynamic memory to a virtual machine.
In other words, instead of assigning 2GB, and Hyper-V actually USING 2GB all of the time your VM is up, instead, Hyper-V can just use however much RAM that particular VM needs at that moment!
To set this up, go into the “Settings…” of a VM that you have set up in Hyper-V and go to the Memory node:
So in the example above, the computer will boot with 2GB (2,048MB) of RAM. Then, after 5 minutes, the VM is given dynamic RAM. For example:
Why is this noteworthy? Well with Virtual PC and VirtualBox, and I think previous versions of Hyper-V: when you assigned 2GB to each server, the host system would USE 2GB for each server, the whole time the VM was up.
Using the example above, that would be 6 servers x 2GB each – which would mean I would need 12GB available for VM’s, to run them all at the same time, on my 16GB computer. With dynamic memory, I can leave all 6 servers running and they are using a little less than 3.5GB total, for ALL of them to run, freeing up 8.5GB of RAM on my host machine – this is very cool!
If the servers need more RAM, then that “Assigned memory” is going to go up, of course – but if the VM is just sitting there, it’s nice that Hyper-V gives that wasted RAM back to the host server.