VDI on Windows Server 2008 R2 Hyper-V: Performance Monitoring Explained–Part 1

hypervIn this article we’ll go into VDI (virtual desktop interface) monitoring on Windows Server Hyper-V and in particular what and where to monitor and what counters to utilize to determine of your virtual machine is overloaded and what resources are used. This article focuses on measuring networking, storage, and CPU usage.

Windows Hyper-V has three main components, each of which can be monitored; the virtstack, devices, and the hypervisor. When Windows 2008 boots the system it launches the virtstack and hypervisor. The virtstack handles the emulated devices, manages virtual machines, services I/O, etc. The Hypervisor schedules the virtual processors, manages interrupts, services timers, and controls other chip-level functions.

The root partition in Hyper-V provides the monitoring information via WMI and performance counters. Although you can monitor a virtual machine from within the running guest operating system, you only have access to the metric provided by that specific OS. One thing to keep in mind is that when querying the metric %Processor, it reports on the virtual processor(s) used in the guest, not the physical processor of the host system.

So to monitor Hyper-V and all virtual machines, you should monitor the root. Now let’s take a look at what you should monitor. We’ll cover the major resources and what to typically monitor to provide a good starting point. The top level metrics to monitor are the following:

Overall health:

  • Hyper-V Virtual Machine Health Summary
  • Hyper-V Hypervisor


  • Processor
  • Hyper-V Hypervisor Logical Processor
  • Hyper-V Hypervisor Root Virtual Processor
  • Hyper-V Hypervisor Virtual Processor


  • Memory
  • Hyper-V Hypervisor Partition
  • Hyper-V Root Partition
  • Hyper-V VM Vid Partition


  • Network Interface
  • Hyper-V Virtual Switch
  • Hyper-V Legacy Network Adapter
  • Hyper-V Virtual Network Adapter


  • Physical Disk
  • Hyper-V Virtual Storage Device
  • Hyper-V Virtual IDE Controller

In this first part of the ‘monitoring explained’ articles, we’ll look at the Overall Health Metrics set of performance counters and how to use them. The other sets are discussed in Part 2.

Overall Health Metrics

There are two counter sets you can use to get an overall picture of the system:

1. Hyper-V Virtual Machine Health Summary which has two counters; “Health Ok” andHealth Critical”. Critical means some resource has been exhausted or another unrecoverable error has occurred. If you see “Health Critical” you should take action to figure out what has happened.

2. Hyper-V Hypervisor. This set has the Logical Processor counter, the number of virtual machines running is measured by the Partitions counter, and the total number of Virtual Processors is provided by the Virtual Processors counter. The logical processors are important because this is where all the work is done and are a representation of the physical processor. Microsoft recommends that you do not exceed an 8:1 ratio for the the Virtual Processor to Logical Processor ratio.

The Total Pages counter indicates how much memory the Hypervisor is using to manage the virtual machine. This counter does not capture all the overhead because another component called the Virtual Interface Driver (VID) also has overhead to manage partitions. Note that in Windows 2008 the counter Hyper-V VID Partition does not work, but it does in Windows Server 2008 R2.

In our next article in this series we’ll discuss the Processor, Memory, and Storage counter sets in detail. We will also provide a custom monitor for Hyper-V that utilizes most of the metrics that are discussed in this series.

See also Monitoring Hyper-V With PowerShell on Monitis


You might also like