Hypervisor Status Test

A hypervisor, also called virtual machine monitor (VMM), is a computer hardware platform virtualization software that allows multiple operating systems to run on a host computer concurrently. It runs directly on the host's hardware as a hardware control and guest operating system monitor. A guest operating system thus runs on another level above the hypervisor.

The Hypervisor Status test reports useful statistics revealing the health of the Hyper-V hypervisor.

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
Parameter Description

Test period

This indicates how often should the test be executed.

Host

Specify the HOST for which this test is to be configured.

Measurements made by the test
Measurement Description Measurement Unit Interpretation

Logical processors

Indicates the number of cores / HT that the hypervisor is managing currently.

Number

If you have a dual proc quad core without HT you will see this number set to 8.  If you also had HT it would be set to 16. 

Virtual machines running

Indicates the number of partitions managed by the hypervisor currently.

Number

Each virtual machine on the system is run in a container called a partition.   If you have no VMs running this value will be set to 1, because the “host OS” called the “root” in Hyper-V is also running in a partition.  So, if you have 2 guest VMs running, this value will be 3 -  2 for each guest VM and 1 for the root.

Virtual processors

Indicates the number of virtual processors on the system currently.

Number

All execution in the root and child partitions (where guest VMs run) happens on Virtual Processors (VPs).  At a minimum, you will see one VP for each Logical Processor (LP).  These account for the root VPs.  You will then see one for each VP you have configured to a guest.  Therefore, if you have an 8LP system with 1 guest running with 2 VPs, the count here will be 10.

Monitored notification

Indicates the number of monitored notifications currently registered with the hypervisor.

Number

Monitored notifications are part of an interrupt coalescing technique Hyper-V uses to reduce virtualization overhead.   For example, when a guest has data to transmit over the network it could send an interrupt for each packet to the root VP that will actually do the I/O, or it can send one interrupt to let the root know data is starting to flow.  This counter is an indication of the number of “flows” of interrupts being set to the root and guests.

Total pages

Indicates the current number of bootstrap and deposited pages in the hypervisor.

Number

The Hypervisor needs memory in order to keep track of Virtual Processors, Guest Virtual address to System Physical Address translation entries in the virtual TLB, etc.  Therefore, the total pages keep track of the total amount of memory the Hypervisor is using for management or partitions. A page is 4KBytes. This is not the total amount used to support a guest. You would also need to get this by looking at the size of the worker process (vmwp.exe) and account for memory in vid.

Total Pages can change based on what guests VMs are running. 

Here is an example of how the Hypervisor gets memory - A user want to start a VM. To achieve this, the vid makes a hypercall to the Hypervisor via winhv.sys to create a partition.  In order to create VPs, vTLBs, etc., the Hypervisor needs memory. Hence, it makes a call to the root via winhv.sys.  Winhv.sys then allocates memory from the root and makes a hypercall to deposit memory and then the whole process unwinds and the partition create completes.