host OS is just another operating system running on top of the hypervisor. This is also
why the management OS can use only 64 processors on a system with more than 64—
even the management OS is still accessing processor resources via the hypervisor. As
Figure 6.11 shows, however, Task Manager does at least show the total number of
processors in the Logical Processors field even though the host logical processors are
limited to 64. This is not a problem, because the host OS does very little processing,
while the actual hypervisor can access up to 320. Task Manager will also not show
resources by virtual machine, so it’s not a useful tool for troubleshooting the
performance of a Hyper-V environment.
Figure 6.11 Only 64 processors are visible on the Hyper-V host of an 80-processor
system.
Performance Monitor running on a Hyper-V host has access to detailed information
on not just performance of the management OS but also on the resources used for
each virtual machine. It shows information for all types of resources, including
processor, memory, networking, and storage. I will cover the performance counters to
use for each of these key types of resources in the following list. Remember that while
most resource utilization should be consumed by virtual machines, it’s always
important to view the resource utilization of the host OS as well, because the host
performs certain functions for the guests that can consume resources, and processes
may be running on the host that are misbehaving and need to be corrected. When I
refer to performance counters in the following list, I refer to the group of the counters
first and then the actual counter. For example, Hyper-V Hypervisor Logical Processor
is the counter group and % Total Run Time is a counter within that group.
For the processor resource, we can examine the total busy time of each logical
processor in the host (used by the host or virtual machines), the processor usage by
the actual host OS, and the individual virtual machines.
Hyper-V Hypervisor Logical Processor % Total Run Time: The utilization of
the actual logical processors as managed by the hypervisor, which is usage by the
host OS and all the virtual machines.