A. Once SP1 is installed on a 2008 R2 Hyper-V server, you can modify VMs that aren't running from static to dynamic memory configurations, as shown below.

Enabling Dynamic Memory in Hyper-V

Note that you need to use the SP1 version of Hyper-V Manager to manage dynamic memory.

The two main options to configure are the Startup RAM and Maximum RAM. The Startup RAM is the amount of physical RAM allocated to the VM when it starts and the Maximum RAM is the maximum memory that can be allocated to the VM if it's available on the Hyper-V host, and assuming the VM's guest OS supports it. The Maximum RAM is 64GB by default. I suggest you change this to something more manageable in your environment, based on your sizing calculations.

In any system where resources are dynamically allocated as needed, there can be a lag between the time the resource is needed and the time it can be allocated, so while you want to be efficient with how you allocate memory, you don't want to cause performance problems as a VM waits for memory. So having some spare memory is a good idea, which is the third setting in this window. This controls what percentage of memory should be available to the VM, 20 percent by default, and if the percentage memory that is available falls below this buffer percentage, more memory is added (if available). The larger buffer you define, the smaller the chance that the VM will have to wait for memory when it needs it. But it also means you're allocating more memory that isn't needed, so 20 percent is a good compromise for most environments. This setting can be changed while the VM is running.

The final setting is Memory priority. It's used when the Hyper-V host doesn't have enough memory for all the requests from its VMs and needs to prioritize where memory should be given. VMs with higher Memory priority will be allocated memory ahead of VMs with lower priority. This setting can also be changed while the VM is running.