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
  1. Test period - How often should the test be executed
  2. Host - The host for which the test is to be configured.
  3. port - The port at which the host listens. By default, this is NULL.
  4. inside view using - By default, this test communicates with every VM remotely and extracts “inside view” metrics. Therefore, by default, the inside view using flag is set to Remote connection to VM (Windows).

    Typically, to establish this remote connection, eG Enterprise requires that the eG agent be configured with domain administrator privileges. In high-security environments, where the IT staff might have reservations about exposing the credentials of their domain administrators, this approach to extracting “inside view” metrics might not be preferred. In such environments therefore, eG Enterprise provides administrators the option to deploy a piece of software called the eG VM Agent on every Windows VM; this VM agent allows the eG agent to collect “inside view” metrics from the Windows VMs without domain administrator rights. Refer to Configuring Windows Virtual Machines to Support theInside View Using the eG VM Agent for more details on the eG VM Agent. To ensure that the “inside view” of Windows VMs is obtained using the eG VM Agent, set the inside view using flag to eG VM Agent (Windows). Once this is done, you can set the domain, admin user, and admin password parameters to none.

  1. domain, admin user, admin password, and confirm password – By default, this test connects to each virtual guest remotely and attempts to collect “inside view” metrics. Accordingly, the inside view using flag is set to Remote connection to VM (Windows) by default. To obtain a remote connection, the test must be configured with the privileges of an administrative user to the domain within which the guests reside. The first step towards this is to specify the DOMAIN within which the virtual guests reside. The admin user and admin password will change according to the domain specification. Discussed below are the different values that the domain parameter can take, and how they impact the admin user and admin password specifications:

    • If the VMs belong to a single domain:  If the guests belong to a specific domain, then specify the name of that domain against the domain parameter. In this case, any administrative user in that domain will have remote access to all the virtual guests. Therefore, an administrator account in the given domain can be provided in the ADMIN USER field and the corresponding password in the ADMIN PASSWORD field. Confirm the password by retyping it in the CONFIRM PASSWORD text box.
    • If the VMs belong to different domains: In this case, you might want to provide multiple domain names. If this is done, then, to access the guests in every configured domain, the test should be configured with the required user privileges; this implies that along with multiple DOMAIN names, multiple ADMIN USER names and ADMIN PASSWORDs would also have to be provided. To help administrators provide these user details quickly and easily, the eG administrative interface embeds a special configuration page. To access this page, simply click on the Click here hyperlink that appears just above the parameters of this test in the test configuration page. To know how to use the special page, refer to of this document.
    • If the INSIDE VIEW USING flag is set to ‘eG VM Agent (Windows)’: On the other hand, if the inside view using flag is set to eG VM Agent (Windows), then it implies that the inside view can be obtained without domain administrator privileges. Therefore, set the domain, admin user, and admin password parameters to none.
  2. REPORT BY USER – For the Microsoft 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 Microsoft 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
  3. 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.   

  1. 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.
  2. 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.

  3. 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.
  4. 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.
  5. DETAILED DIAGNOSIS - To make diagnosis more efficient and accurate, the eG suite 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