Understanding Dynamic Memory in Hyper-V virtual machine settings
Posted: (EET/GMT+2)
The latest Hyper-V version in Windows Server 2008 R2, 2012 and 2012 R2 contains a new memory management feature for virtual machines called Dynamic Memory.
If you haven't seen this feature before, you might wonder what the different settings are. Namely, there's "Startup Memory", "Minimum RAM", "Maximum RAM" and even "Memory Buffer".
Traditionally in Hyper-V, you assigned a particular amount of memory for the virtual machine, and that amount was fixed for the duration of the virtual machine's running time. However, this is usually inefficient, because a) Windows operating system needs more memory when it starts up, and b) you might not know the total memory needed in advance.
Enter Dynamic Memory. This option allows you to scale the amount of memory that the virtual machine needs between a min and max value, plus some extra when the virtual machine is starting up. These are the "Minimum RAM", "Maximum RAM" and "Startup Memory" settings, respectively.
Now, the "Memory Buffer" setting is the most complex, and it is specified as a percentage. This setting allows you to specify how much additional RAM is allocated for the virtual machine on top of the amount of memory it actually needs. This allows the memory consumption of the virtual machine to grow in a rather painless fashion up to the maximum amount of RAM specified.
Hope this clarifies the situation. Happy virtualizing!