Hyper-V Dynamic Memory Balancer Test

Dynamic Memory is a new feature of Hyper-V™ that enables Hyper-V hosts to dynamically adjust the amount of memory available to virtual machines in response to changing workloads. Instead of assigning a specific amount of memory to a virtual machine, the administrator instead configures a range of memory, memory priority and other settings that Hyper-V then uses to determine how much memory to allocate to the virtual machine in real time. The benefits of Dynamic Memory include higher virtual machine consolidation ratios and increased flexibility for managing virtualized workloads.

By closely monitoring the amount of memory the Hyper-V host dynamically allocates and releases from VMs, you can understand the memory needs of virtual machines and the memory pressure on the host. The Hyper-V Dynamic Memory Balancer test enables this monitoring and the consequent analysis.

Target of the test : A Hyper-V / Hyper-V VDI server

Agent executing the test : An internal agent

Output of the test : One set of results for the Hyper-V host monitored

Configurable parameters for the test
  1. Test period - How often should the test be executed
  2. Host - The host for which the test is to be configured.
Measurements reported by the test:
Measurement Description Measurement Unit Interpretation

Added memory

Indicates the amount of physical memory added to the VMs during the last measurement period.

MB

Hyper-V host and the enlightened VM communicate through the VMBus (the server use Virtual Service Provider and the client use Virtual Service Consumer) to determine the current memory needs of the VM. If the workload of the VM increases and need more memory – then memory is dynamically added to the VM. If the workload decreases (or other VMs have higher memory priority)– the memory is dynamically removed from the VM.

Removed memory

Indicates the amount of physical memory removed from the VMs during the last measurement period.

MB

Available memory

Indicates the amount of physical memory remaining unused on the host.

MB

A very low value of this measure is a cause of concern. This is because, it indicates that the physical memory of the host has been overcommitted; if too much paging occurs at this juncture, performance will plummet.

Average pressure

Indicates the average memory pressure on the host.

Percent

Dynamic Memory determines the amount of memory needed by a virtual machine by calculating something called memory pressure. To perform this calculation, Hyper-V looks at the total committed memory of the guest operating system running in the virtual machine and then calculates pressure as the ratio of how much memory the virtual machine wants to how much it has. The amount of memory that Hyper-V then assigns to the virtual machine equals total committed memory plus some additional memory to be used as a buffer. However, Dynamic Memory does not guarantee that the total committed memory amount is always assigned to the virtual machine. Neither does Dynamic Memory guarantee that the additional memory amount configured as a buffer value is always assigned to the virtual memory. This is because the actual amount of memory assigned to a virtual machine depends upon the memory pressure being exerted upon the host by the memory needs of other virtual machines running on the host.

A very high value of this measure therefore indicates that the VMs are exerting too much memory pressure on the host, probably owing to a severe memory contention on the VMs.  As long as this number is under 100, you can conclude that there is enough memory on the Hyper-V host to service your virtual machines.  Ideally, this value should be at 80 or lower.  The closer this gets to 100, the closer you are to running out of memory.  Once this number goes over 100 then you can pretty much guarantee that you have virtual machines that are paging in the guest operating system.

Memory add operations

Indicates the number of memory addition operations performed during the last measurement period.

Number

 

Memory remove operations

Indicates the number of memory removal operations performed during the last measurement period.

Number