Virtualization Counters
Applies to: Exchange Server 2010 SP3, Exchange Server 2010 SP2
This topic provides information about virtualization counters in Microsoft Exchange Server 2010. You can use Performance Monitor (perfmon.exe) to monitor these counters. For more information, see Performance Monitor Getting Started Guide. For information about other counters relevant to Exchange 2010, see Performance and Scalability Counters and Thresholds.
Hyper-V Counters
The following table shows Microsoft Hyper-V counters.
Counter | Description | Threshold | Troubleshooting |
---|---|---|---|
Hyper-V Virtual Machine Health Summary\Health OK |
Shows that the host server is running as expected. |
Should be 1 at all times. |
|
Hyper-V Virtual Machine Health Summary\Health Critical |
Shows the percentage of processor time spent in guest code. This is used to measure the total processor utilization for all virtual machines (VMs) running on the host server. This value is equal to the sum of the Hyper-V Hypervisor Root Virtual Processor\% Guest Run Time and Hyper-V Hypervisor Virtual Processor\% Guest Run Time counters. |
Should remain below 65%. |
If you see a value of 1, the server is in a critical state, and you should investigate further to determine the exact issue. |
Hyper-V Processor Counters
The following table shows Hyper-V processor counters.
Counter | Description | Threshold | Troubleshooting |
---|---|---|---|
Hyper-V Hypervisor Logical Processor\% Guest Run Time |
Shows the percentage of processor time spent in guest code. This is used to measure the total processor utilization for all VMs running on the host server. This value is equal to the sum of the Hyper-V Hypervisor Root Virtual Processor\% Guest Run Time and Hyper-V Hypervisor Virtual Processor\% Guest Run Time counters. |
Should remain below 65%. |
There is one logical processor that carries more load than the rest and that is LP0. This logical processor is where all interrupts in the system are directed. If there is too much load, this logical processor may reach 100%, which likely means input/output (I/O) is a bottleneck in the system. There are some technologies in Windows Server 2008 R2 that help reduce the load for networking. These technologies include Virtual Machine Queue (VMQ), VM Chimney, and RSS. There is no RSS support in guest VMs. |
Hyper-V Hypervisor Logical Processor\% Hypervisor Run Time |
Shows the percentage of processor time spent in hypervisor code. This is used to measure the total processor utilization of the hypervisor for the entire system. |
Should remain below 5%. |
|
Hyper-V Hypervisor Logical Processor\% Idle Run Time |
Shows the percentage of processor time spent in an idle state. This is used to measure the idle processor for the entire system. |
Should remain above 30%. |
|
Hyper-V Hypervisor Logical Processor\% Total Run Time |
Shows the percentage of processor time spent in guest and hypervisor code. This is used to measure the total processor utilization for hypervisor and all VMs running on the host server. |
Should remain below 70%. |
|
Hyper-V Hypervisor Virtual Processor\% Guest Run Time |
Shows the percentage of virtual processor time spent in guest code for a specific VM. |
Should remain below 65%. |
|
Hyper-V Hypervisor Virtual Processor\% Hypervisor Run Time |
Shows the percentage of processor time spent in hypervisor code for a specific VM. |
Should remain below 5%. |
|
Hyper-V Hypervisor Virtual Processor\% Idle Run Time |
Shows the percentage of processor time spent in an idle state for a specific VM. |
Should remain above 30%. |
|
Hyper-V Hypervisor Virtual Processor\% Total Run Time |
Shows the percentage of processor time spent in guest and hypervisor code for a specific VM. |
Should remain below 70%. |
|
Hyper-V Hypervisor Root Virtual Processor\% Guest Run Time |
Shows the percentage of time used by the virtual processor in guest code. This is used to determine the processor utilization of the virtualization stack on the host server. |
Should remain below 5%. |
|
Hyper-V Hypervisor Virtual Processor\% Hypervisor Run Time |
Shows the percentage of time used by the virtual processor in hypervisor code. This is used to determine the processor unitization by the hypervisor used by the host (and isn't specific to any VMs). |
Should remain below 5%. |
Hyper-V Memory Counters
The following table shows common Hyper-V memory counters.
Counter | Description | Threshold | Troubleshooting |
---|---|---|---|
Memory\Available MBytes |
Available megabytes (MB) is the amount of physical memory, in megabytes, immediately available for allocation to a process or for system use. This shows how much memory is remaining for guests. There is a reserve of 256 MB, 512 MB, or 2,048 bytes that the root will always leave outside of guest memory. The exact amount varies depending on the Hyper-V release. If a VM won't start, it may be because there are too few available bytes to satisfy the reserve. |
Should be greater than 2 MB. |
|
Memory\Pages/sec |
Pages/sec is the rate at which pages are read from or written to disk, to resolve hard page faults. This is a measure of memory pressure because it tracks hard faults. Hard faults are page faults that require disk access. Usually, the number spikes when there are too few available bytes available on the system, and processes are competing with each other for physical RAM. |
Not applicable. |
|
Hyper-V VM Vid Partition\Physical Pages Allocated |
Shows the total number of guest pages and Virtual Infrastructure Driver (VID) pages needed to manage the VM. |
Not applicable. |
|
Hyper-V VM Vid Partition\Remote Pages Allocated |
On non-uniform memory access (NUMA)-based systems, this shows whether a VM is spanning multiple nodes. |
Not applicable. |
You want to avoid this whenever possible. You can require a VM to start from a particular node by using the API described in Looking for that last ounce of performance? Then try affinitizing your VM to a NUMA node. Another way is to stop and restart the VM. If possible, Hyper-V will allocate all memory on a single NUMA node. Note The content of each blog and its URL are subject to change without notice. The content within each blog is provided "AS IS" with no warranties, and confers no rights. Use of included script samples or code is subject to the terms specified in the Microsoft Terms of Use. |
Hyper-V Hypervisor [ROOT] Partition\1G GPA Pages |
Shows the number of 1G pages present in the Guest Physical Address (GPA) space of the partition. This indicates whether a VM is using large pages, which improves overall VM performance. |
Not applicable. |
Large pages are only used on systems that have vTLB hardware support. T learn more about vTLB, see Why does my desktop box slowdown when I install Hyper-V. Note The content of each blog and its URL are subject to change without notice. The content within each blog is provided "AS IS" with no warranties, and confers no rights. Use of included script samples or code is subject to the terms specified in the Microsoft Terms of Use. |
Hyper-V Hypervisor [ROOT] Partition\2M GPA Pages |
Shows the number of 2M pages present in the GPA space of the partition. This indicates whether a VM is using large pages, which improves overall VM performance. |
Not applicable. |
Large pages are only used on systems that have vTLB hardware support. To learn more about vTLB, see Why does my desktop box slowdown when I install Hyper-V. Note The content of each blog and its URL are subject to change without notice. The content within each blog is provided "AS IS" with no warranties, and confers no rights. Use of included script samples or code is subject to the terms specified in the Microsoft Terms of Use. |
Hyper-V Hypervisor [ROOT] Partition\Deposited Pages |
Shows the number of pages deposited into the partition. This indicates how much memory the hypervisor is using for managing the VM. |
Not applicable. |
Hyper-V Network Counters
The following table shows common Hyper-V network counters.
Counter | Description | Threshold | Troubleshooting |
---|---|---|---|
Network Interface(*)\Bytes Total/sec |
Indicates the rate at which the network adapter is processing data bytes. This counter includes all application and file data, in addition to protocol information such as packet headers. |
For a 100-megabytes per second (MBps) network adapter, should be below 6–7 MBps. For a 1000-megabits per second (Mbps) network adapter, should be below 60–70 Mbps. |
|
Network Interface(*)\Packets Outbound Errors |
Indicates the number of outbound packets that couldn't be transmitted because of errors. |
Should be 0 at all times. |
|
TCPv4\Connection Failures |
Shows the number of times TCP connections have made a direct transition to the CLOSED state from the SYN-SENT state or the SYN-RCVD state, plus the number of times TCP connections have made a direct transition to the LISTEN state from the SYN-RCVD state. |
An increasing number of failures, or a consistently increasing rate of failures, can indicate a bandwidth shortage. |
|
TCPv6\Connection Failures |
Shows the number of times TCP connections have made a direct transition to the CLOSED state from the SYN-SENT state or the SYN-RCVD state, plus the number of times TCP connections have made a direct transition to the LISTEN state from the SYN-RCVD state. |
An increasing number of failures, or a consistently increasing rate of failures, can indicate a bandwidth shortage. |
|
TCPv4\Connections Reset |
Shows the number of times TCP connections have made a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state. |
An increasing number of resets, or a consistently increasing rate of resets, can indicate a bandwidth shortage. |
Some browsers send TCP reset (RST) packets, so be cautious when using this counter to determine reset rate. |
TCPv6\Connections Reset |
Shows the number of times TCP connections have made a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state. |
An increasing number of resets, or a consistently increasing rate of resets, can indicate a bandwidth shortage. |
Some browsers send TCP reset (RST) packets, so be cautious when using this counter to determine reset rate. |
Hyper-V Virtual Switch\Bytes/sec |
This counter represents the total number of bytes that have traversed the network adapter. |
Not applicable. |
|
Hyper-V Virtual Switch\Packets/sec |
This counter represents the total number of bytes received per second by the network adapter. |
Not applicable. |
|
Hyper-V Virtual Network Adapter\Bytes/sec |
This counter represents the total number of bytes per second traversing the virtual switch. |
For a 100-MBps network adapter, should be below 6–7 MBps. For a 1000-Mbps network adapter, should be below 60–70 Mbps. |
|
Hyper-V Virtual Network Adapter\Packets/sec |
This counter represents the total number of packets per second traversing the virtual switch. |
Not applicable. |
© 2010 Microsoft Corporation. All rights reserved.