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
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:
|
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:
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 |