Microsoft Windows Hyper-V Virtual Machine Statistic

Version 2

    This template assesses the status and overall performance of a Virtual Machine running on Microsoft Windows Hyper-V server, installed as server role, by monitoring retrieving statistics from performance counters.


    Prerequisites: WMI access to the target server.

    Credentials: Windows Administrator on the target server.

     

    Monitored Components

    Note: This template allows you to monitor a specific Virtual Machine by setting up its instance. Before using this template you should set the correct instance fields in all counters. This can be done by using Perfmon. All counters in this documentation have a note as to where to find it in Perfmon.

    In most cases, you should only change testVM to the name of your virtual machine. An example of how to use Perfmon can be found here: http://blog.sqlauthority.com/2008/02/14/sql-server-introduction-to-performance-monitor-how-to-use-perfmon/. Here is an example of a counter: Hyper-V Hypervisor Partition\1G GPA pages means that “Hyper-V Hypervisor Partition” is a Performance Object and “1G GPA pages” is the counter name.


    Partition: 1G GPA pages

    This monitor returns the number of 1G pages present in the GPA space of the partition. It indicates whether or not a VM is using a large page, which improves overall performance. Large pages are only used on systems that have vTLB hardware support.

    Note: Name of this counter in Perfmon: Hyper-V Hypervisor Partition\1G GPA pages.

    Instance example: testVM:HvPt
    where
    testVM – name of virtual machine;
    HvPt – partition name.


    Partition: 2M GPA pages

    This monitor returns the number of 2M pages present in the GPA space of the partition.

    Note: Name of this counter in Perfmon: Hyper-V Hypervisor Partition\2M GPA pages.

    Instance example: testVM:HvPt
    where
    testVM – name of virtual machine;
    HvPt – partition name.


    Partition: Deposited Pages

    This monitor returns the number of pages deposited into the partition. It shows how much memory the hypervisor is using for managing the VM.

    Note: Name of this counter in Perfmon: Hyper-V Hypervisor Partition\Deposited Pages.

    Instance example: testVM:HvPt
    where
    testVM – name of virtual machine;
    HvPt – partition name.


    Partition: Virtual Processors

    This monitor returns the number of virtual processors presented in the partition and configured to use.

    Note: Name of this counter in Perfmon: Hyper-V Hypervisor Partition\Virtual Processors.

    Instance example: testVM:HvPt
    where
    testVM – name of virtual machine;
    HvPt – partition name.


    Virtual Processor: % Guest Run Time

    This monitor returns the percentage of time spent by the virtual processor in guest code. For guest VMs, this is the percentage of time the guest VP is running in non-hypervisor code on an LP or for the _Total the total across all guest VP’s.

    Note: Name of this counter in Perfmon: Hyper-V Hypervisor Virtual Processor\% Guest Run Time.

    Instance example: testVM:Hv VP 0
    where
    testVM – name of virtual machine;
    Hv VP 0 – virtual processor number.


    Virtual Processor: % Hypervisor Run Time

    This monitor returns the percentage of time spent by the virtual processor in hypervisor code. For guest VM’s this is the percentage of time the guest VP is running in hypervisor code on an LP or for the _Total the total across all guest VP’s

    Note: Name of this counter in Perfmon: Hyper-V Hypervisor Virtual Processor\% Hypervisor Run Time.

    Instance example: testVM:Hv VP 0
    where
    testVM – name of virtual machine;
    Hv VP 0 – virtual processor number.


    Virtual Processor: % Total Run Time

    This monitor returns the percentage of time spent by the virtual processor in guest and hypervisor code. This is the sum of %Guest Run Time + % Hypervisor Runtime on a per VP basis.

    Note: Name of this counter in Perfmon: Hyper-V Hypervisor Virtual Processor\% Total Run Time.

    Instance example: testVM:Hv VP 0
    where
    testVM – name of virtual machine;
    Hv VP 0 – virtual processor number.


    IDE Controller: Read Bytes/sec

    This monitor returns the number of bytes read per second from the disks attached to the IDE controller.

    Note: Name of this counter in Perfmon: Hyper-V Virtual IDE Controller\Read Bytes/sec.

    Instance example: testVM:Ide Controller
    where
    testVM – name of virtual machine.


    IDE Controller: Write Bytes/sec

    This monitor returns the number of bytes written per second to the disks attached to the IDE controller.

    Note: Name of this counter in Perfmon: Hyper-V Virtual IDE Controller\Write Bytes/sec.

    Instance example: testVM:Ide Controller
    where
    testVM – name of virtual machine.


    Virtual Storage Device: Error Count

    This counter represents the total number of errors that have occurred on this virtual device.

    Note: This counter has the Count statistic as difference option enabled and will show the statistical difference from the last polling cycle.

    Note: Name of this counter in Perfmon: Hyper-V Virtual Storage Device\Error Count.

    Instance example: C:-vm-hd-testVM.vhd
    where
    C:-vm-hd-testVM.vhd – name of virtual machines hard drive;


    Virtual Storage Device: Read Bytes/sec

    This counter represents the total number of bytes that have been read per second on this virtual device.

    Note: Name of this counter in Perfmon: Hyper-V Virtual Storage Device\Read Bytes/sec.

    Instance example: C:-vm-hd-testVM.vhd
    where
    C:-vm-hd-testVM.vhd – name of virtual machines hard drive;


    Virtual Storage Device: Write Bytes/sec

    This counter represents the total number of bytes that have been written per second on this virtual device.

    Note: Name of this counter in Perfmon: Hyper-V Virtual Storage Device\Write Bytes/sec.

    Instance example: C:-vm-hd-testVM.vhd
    where
    C:-vm-hd-testVM.vhd – name of virtual machines hard drive;


    VM Vid Partition: Physical Pages Allocated

    This monitor returns the number of physical pages allocated.

    The “Physical Pages Allocated” is the total number of guest pages and VID pages needed to manage the VM.

    Note: Name of this counter in Perfmon: Hyper-V VM Vid Partition\Physical Pages Allocated.

    Instance example: Hyper-V VM Vid Partition
    where
    Hyper-V VM Vid Partition – name of VM Vid partition.


    VM Vid Partition: Remote Physical Pages

    This monitor returns the number of physical pages not allocated from the preferred NUMA node.

    The “Remote Physical Pages” let you know on NUMA based systems if a VM is spanning multiple nodes. You want to avoid this whenever possible.You can stop and restart the VM and if possible, Hyper-V will allocate all memory on a single NUMA node. For more information, see:http://blogs.msdn.com/tvoellm/archive/2008/09/28/Looking-for-that-last-once-of-performance_3F00_-Then-try-affinitizing-your-VM-to-a-NUMA-node-.aspx).

    Note: Name of this counter in Perfmon: Hyper-V VM Vid Partition\Remote Physical Pages.

    Instance example: Hyper-V VM Vid Partition
    where
    Hyper-V VM Vid Partition – name of VM Vid partition.

     

     

    Portions of this document were originally created by and are excerpted from the following sources:

    Microsoft Corporation, “Technet Library,” Copyright © 2012 Microsoft Corporation. 

    All rights reserved. Available at http://technet.microsoft.com/en-us/library/ff367892.aspx.