With the recent release of Service Pack 1 for Windows Server 2008 R2 a new feature called Dynamic Memory is available. The feature enables a higher number of virtual machines to be run on a Hyper-V host. A better consolidation means less Hyper-V hosts needed, thus less costs and less management.
There has been a l0t of publicity on Dynamic Memory. For an overview of posting see this page.
VMware responded on the new Dynamic Memory explaining the advanced memory features VMware’s hypervisor delivers. Dynamic Memory has some drawbacks as published in a VMware article.
Aidan Finn has an interesting read on Dynamic Memory on his blog.
A qoute from the VMware article:
Other Dynamic Memory Curiosities. To permit many VMs to be packed onto a Hyper-V host, Microsoft has come up with a scheme where VMs are powered on with a low “Startup RAM” setting (512MB is recommended) and memory is then hot added as the guest needs it. You can probably think of lots of reasons why this is a bad idea. How about:
- Hot-adding RAM to VMs will play havoc with system monitoring tools that will now see the memory allocations of VMs changing randomly – administrators can expect a barrage of “Low Memory” alarms.
- Hyper-V Dynamic Memory will now only work with the latest versions of Windows that support hot add RAM. Running older Windows 2003 service packs or Windows XP? You’re out of luck. Linux support isn’t even mentioned.
- Since Microsoft hasn’t yet invented “hot remove” of RAM, Dynamic Memory can only ratchet up the RAM allocation of a VM. Getting back to the “Startup RAM” setting will require a reboot of the VM.
- Applications requiring more than the “Startup RAM” amount that perform a pre-check will fail immediately. Microsoft’s own software installers run into this problem. Microsoft’s workaround is to trick Hyper-V into hot adding memory to the VM by running MS Paint before starting the installation – I’m not kidding.
- Microsoft has now added a whole new range of complications for software vendors to test and certify now that their apps must cope with suddenly changing amounts of memory. Don’t expect your software vendor to support their product in a Hyper-V VM with Dynamic Memory enabled until they’ve done lots of recoding and testing.
Read VMware’s posting called Hypervisor Memory Management Done Right how memory management is done in VMware’s hypervisor and how it’s compares to Dynamic Memory of Windows Server. Very interesting read!