Hyper-V VM Details Test

This test monitors the amount of the physical server’s resources that each guest on a Hyper-V server is taking up. Using the metrics reported by this test, administrators can determine which virtual guest is taking up most CPU, which guest is generating the most network traffic, which guest is taking up the maximum memory utilization, which guest has the maximum disk activity, etc.

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 every guest operating on the monitored Hyper-V server

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.

Port

Specify the port at which the target host is listening. By default, this is NULL

Inside View Using

By default, this test obtains the “inside view” of VMs using the eG VM Agent. Accordingly, the Inside view using flag is set to eG VM Agent by default. The eG VM Agent is a piece of software, which should be installed on every VM on a hypervisor. Every time the eG agent runs this test, it uses the eG VM Agent to pull relevant 'inside view' metrics from each VM. Once the metrics are collected, the eG agent then communicates with each VM agent and pulls these metrics, without requiring administrator privileges. Refer to Configuring the Remote Agent to Obtain the Inside View of VMs for more details on the eG VM Agent.

Domain, Admin User, and Admin Password, and Confirm Password

By default, these parameters are set to none. This is because, by default, the eG agent collects 'inside view' metrics using the eG VM agent on each VM. Domain administrator privileges need not be granted to the eG agent if it uses this default approach to obtain the 'inside view' of Windows VMs.

Report By User

For the Hyper-V monitoring model, the Report By User flag is set to No by default, indicating that by default, the guest operating systems on the Hyper-V server are identified using the hostname specified in the operating system. On the other hand, for the Hyper-V VDI model, this flag is set to Yes by default; this implies that in case of VDI servers, by default, the guests will be identified using the login of the user who is accessing the guest OS. In other words, in VDI environments, this test will, by default, report measures for every username_on_virtualmachinename.

Report Powered OS

This flag becomes relevant only if the report by user flag is set to ‘Yes’.

If the Report Powered OS flag is set to Yes (which is the default setting), then this test will report measures for even those VMs that do not have any users logged in currently. Such guests will be identified by their virtualmachine name and not by the username_on_virtualmachinename. On the other hand, if the Report Powered OS flag is set to No, then this test will not report measures for those VMs to which no users are logged in currently.

Report Powered ON

You can set the Report Powered ON status to Yes, so that the test reports an additional measure, Is VM powered on?, revealing whether a guest OS is currently running or not. The default status of this flag is set to Yes for a Hyper-V server. For a Hyper-V VDI server on the other hand, the default status of this flag is No. This is because, in such environments, the virtual desktops will be in the powered-off state most of the time.

Ignore VMs Inside View

Administrators of some high security Hyper-V environments might not have permissions to internally monitor one/more VMs. The eG agent can be configured to not obtain the 'inside view' of such ‘inaccessible’ VMs using the Ignore VMs Inside View parameter. Against this parameter, you can provide a comma-separated list of VM names, or VM name patterns, for which the inside view need not be obtained. For instance, your Ignore VMs Inside View specification can be: *xp,*lin*,win*,vista. Here, the * (asterisk) is used to denote leading and trailing spaces (as the case may be). By default, this parameter is set to none indicating that the eG agent obtains the inside view of all VMs on a Hyper-V host by default.

Note:

While performing VM discovery, the eG agent will not discover the operating system of the VMs configured in the Ignore VMs Inside View text box.

Exclude VMs

Administrators of some virtualized environments may not want to monitor some of their less-critical VMs - for instance, VM templates - both from 'outside' and from 'inside'. The eG agent in this case can be configured to completely exclude such VMs from its monitoring purview. To achieve this, provide a comma-separated list of VMs to be excluded from monitoring in the Exclude VMs text box. Instead of VMs, VM name patterns can also be provided here in a comma-separated list. For example, your Exclude VMs specification can be: *xp,*lin*,win*,vista. Here, the * (asterisk) is used to denote leading and trailing spaces (as the case may be). By default, this parameter is set to none indicating that the eG agent obtains the inside and outside views of all VMs on a virtual host by default. By providing a comma-separated list of VMs/VM name patterns in the Exclude VMs text box, you can make sure the eG agent stops collecting 'inside' and 'outside' view metrics for a configured set of VMs.

Ignore WINNT

By default, the eG agent does not support the inside view for VMs executing on Windows NT operating systems. Accordingly, the Ignore WINNT flag is set to Yes by default.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.

Measurement

Description

Measurement Unit

Interpretation

Is VM powered on?

Whether the virtual machine is Hyper-V server host or not.

 

While the test reports a wide variety of other metrics too for virtual machines that are alive, only the Powered on status is indicated for virtual machines that are currently not available.

If this measure reports the value On, it indicates that the guest is up and running. The value Off could indicate that the guest has been powered-off; it could also indicate that the guest has moved to a different Hyper-V server.

The numeric values that correspond to each of the powered-on states discussed above are listed in the table below:

State Value
On 1
Off 0

Note:

By default, this measure reports the values On or Off to indicate the status of a VM. The graph of this measure however, represents the status of a VM using the numeric equivalents - 0 or 1. 

Virtual CPU allocated to VM

Indicates the number of processors currently present in this VM.

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.

Virtual CPU Utilization of VM

Indicates the percentage of time spent by the virtual processor assigned to this VM in guest and hypervisor code.

Percent

This measure serves as an effective indicator of how resource-intensive a particular VM is on a specific Hyper-V server.

Virtual machine runtime

Indicates the percentage of time spent by the virtual processor in guest code.

Percent

Comparing the value of the Virtual machine runtime and Hypervisor runtime measures for every VM will reveal where the virtual processors of the VM have spent more time – in processing guest code or in processing hypervisor code?

Hypervisor runtime

Indicates the percentage of time the virtual processor spend in hypervisor code.

Percent

Memory allocated to VM

Indicates the amount of physical memory currently allocated to this VM.

MB

 

Data transmitted by VM

Indicates the number of bytes per second sent over the network adapters supported by this VM.

Mbps

 

Data received by VM

Indicates the number of bytes per second sent over the network adapters supported by this VM.

Mbps

 

Data dropped by VM

Indicates the number of bytes dropped on the network adapter since the last measurement period.

MB

Ideally, this value should be very low. A high value could be indicative of a network bottleneck.

Disk reads by VM

Indicates the number of bytes read per second from the disks attached to the IDE controller.

MB/Sec

These measures are good indicators of the activity on the disks attached to the IDE controller.

Disk writes by VM

Indicates the the number of bytes written per second to the disks attached to the IDE controller.

MB/Sec

Deposited pages

Indicates the number of memory pages currently deposited into the partition.

Number

For each partition, the hypervisor maintains a memory pool of RAM SPA pages. This pool acts just like a checking account. The amount of pages in the pool is called the balance deposited or withdrawn from the pool. When a hypercall that requires memory is made by a partition, the hypervisor withdraws the required memory from the total pool balance of that partition. When the balance available in the pool is less, then more memory pages are deposited in the pool.

A very high value of this measure therefore, indicates that the balance in the pool maintained for this partition is dwindling. This is a cause for concern.

Hypercall

Indicates the rate of hypercalls made by this guest’s code on the virtual processor.

Hypercalls/Sec

Hypercalls are one form of enlightenment.  Guest OS’s use the enlightenments to more efficiently use the system via the hypervisor. TLB flush is an example hypercall. If this value is zero, it is an indication that Integration Components are not installed.  New OS’s like WS08 can use hypercalls without enlightened drivers. So, hypercalls are only a prerequisite and not a guarantee for not having Integration Components installed.

Control register accesses

Indicates the rate of control register accesses by this guest on its virtual processors.

Accesses/Sec

Control registers are used to set up address mapping, privilege mode, etc.

HLT instructions

Indicates the rate of HLT instructions executed by t his guest on its virtual processors.

Instructions/Sec

A HLT will cause the hypervisor scheduler to de-schedule the current VP and move to the next VP in the runlist.

Emulated instruction

Indicates the rate of emulated instructions while executing guest code on the virtual processor.

Instructions/Sec

 

MWAIT instructions

Indicates the rate of MWAIT instructions executed by this guest on its virtual processors.

Instructions/Sec

The MWAIT (monitored wait) instruction instructs the processor to enter a wait state in which the processor is instructed to monitor the address range between a and b and wait for an event or a store to that address range.

CPUID instructions

Indicates the rate of CPUID instructions executed by this guest on its virtual processors.

Instructions/Sec

The CPUID instruction is used to retrieve information on the local CPU’s capabilities. Typically, CPUID is only called when the OS / Application first start. Therefore, this value is likely to be 0 most of the time.

Page fault intercepts

Indicates the rate of page fault exceptions intercepted by the hypervisor while executing this guest’s code on the virtual processor

Intercepts/Sec

Whenever guest code accesses a page not in the CPU TLB a page fault will occur. This counter is closely correlated with the Large Page TLB Fills measure.

Total intercepts

Indicates the rate of hypervisor intercept messages.

Intercepts/Sec

Whenever a guest VP needs to exit its current mode of running for servicing in the hypervisor, this is called an intercept.  Some common causes of intercepts are resolving Guest Physical Address (GPA) to Server Physical Address (SPA) translations, privileged instructions like hlt / cupid / in / out, and the end of the VP’s scheduled time slice.

Large page TLB fills

Indicates the rate of virtual TLB fills on large pages.

Fills/Sec

There are two types of TLB entries (and some three).  Small TLB which generally means a 4K page and large Page which generally means 2MB.  There are fewer Large TLB entries on the order of 8 – 32.

A non-zero value for this measures indicates that the root partition is using large pages. 

Small page TLB fills

Indicates the rate of virtual TLB fills on 4K pages.

Fills/Sec

There are two types of TLB entries (and some three).  Small TLB which generally means a 4K page and large Page which generally means 2MB.  There are fewer Large TLB entries on the order of 64 – 1024+.

Cpu utilization of VM

Indicates the percentage of allocated CPU resources that this VM is currently using.

Percent

Comparing the value of this measure across VMs will enable you to accurately identify the VMs on which CPU-intensive applications are executing. 

Disk capacity of VM

Indicates the total disk capacity of the VM.

MB

Since VMs are easy to create and deploy, many a time an administrator might be faced with scenarios where many VMs are created on an Hyper-V host, but very few are actively used. A VM, whether powered on or off, consumes disk space on a host. When the Hyper-V server hosting the VMs runs low on disk space, administrators might want to know which VM is taking up maximum disk space. This measure reveals the disk capacity of a VM, regardless of its on/off state. A quick comparison of the capacity across VMs can enable administrators to accurately identify the VM that is taking up maximum disk space.

Disk reads and writes by VM

Indicates the rate at which read-write requests were processed by this VM.

Kbytes/Sec

Compare the value of this measure across VMs to know on which VM I/O activity was abnormally high.

Data sent and received by VM

Indicates the rate at which network I/O is processed by this VM.

Mbps

Compare the value of this measure across VMs to know on which VM network I/O activity was abnormally high.

VM health

 

Indicates the current state of this VM.

Number

If the value reported by this measure is 1, the status is Ok.

If the value reported by this measure is 3, the status is Critical.

The Detailed Diagnosis (DD) of this measure shows the VM State, Process ID, and Operational Status.

CPU ready time

Indicates the time duration during which this VM was ready to run (i.e. it had requests to dispatch to the logical processor) but was not able to because of processor contention.

Milliseconds

The values of these measures should typically be low. The more time a VM spends waiting to run, the more lag time there is in responsiveness within the VM.

CPU ready

Indicates the percentage of time during which this VM was ready to run (i.e. it had requests to dispatch to the logical processor) but was not able to because of processor contention.

Percent