A Look At The Dynamic Memory, Hyper-V and VDI Environmen

BrianMadden posted a great article on the upcoming feature of Dynamic Memory for Windows 2008 R2 SP1. The article focuses particularly on the impact for Virtual Desktop Infrastructure (VDI) deployments.It's important to know that in order to use DM, you need to upgrade not just Hyper-V (to 2008 R2 SP1), but also the in-guest "integration […]

BrianMadden posted a great article on the upcoming feature of Dynamic Memory for Windows 2008 R2 SP1. The article focuses particularly on the impact for Virtual Desktop Infrastructure (VDI) deployments.

It's important to know that in order to use DM, you need to upgrade not just Hyper-V (to 2008 R2 SP1), but also the in-guest "integration components" (which're what allow the guest OS to be able to use the DM feature.) Unfortunately DM will only work on these guest operating systems:

  • Windows Server 2008 R2
  • Windows Server 2008 (SP2)
  • Windows Server 2003 R2
  • Windows Server 2003 (SP2)
  • Windows 7 (Enterprise and Ultimate only)
  • Windows Vista (Enterprise and Ultimate only)
  • !No Windows XP!

The best non-technical way describe how DM works is to say that Hyper-V will give the guest VMs the right amount of RAM based on their actual usage. Of course there's a little bit more to it than that. DM works with the "driver enlightened" architecture of Hyper-V. On Hyper-v host, the Virtual Service Provider (VSP) manages the allocation of physical memory resources between the various vms running on the host. Inside the enlightened guest, the Virtual Service Consumer (VSC) collects the info to determine vm's memory needs and executes necessary operations to add or remove memory.

Sounds cool right? Just "enable" it and be done? Unfortunately, you still need to configure some other parameters. Take a look at this screenshot:

Specifically, there're these 4 DM parameters:

  1. Startup RAMthat Hyper-V will always give the host. Microsoft recommends that this is set to the min RAM system requirements of the guest OS.
  2. Maximum RAM is how much RAM the guest can grow to. This defaults to, and has a max value of, 64GB
  3. Memory buffer is the amount of extra memory that's reserved for the guest in addition to the committed memory that the guest VM is asking of Hyper-V. Think of it like the desired "extra" memory for that guest.
  4. Memory weight allows you to specify the importance of a VM in actual RAM allocation. The higher the memory weight, the higher the likelihood that VM will indeed get that memory. Memory weight will only kick in when the host is almost out of RAM.

[tags]windows server 2008 r2,guest os,ram,virtual service provider,vsp,virtual service consumer,vsc[/tags]

For more details look at the "a closer look at the new "Dynamic Memory" feature of Hyper-V: is it worth it for VDI?" post here.