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, which disk has the maximum number of user sessions etc.

Target of the test : A Hyper-V server

Agent executing the test : An internal agent

Output of the test : One set of results for every user or guest or useronguest to the Hyper-V server monitored

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.

  5. 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 Configuring Users for VM Monitoring.
    • 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.
  6. 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.
  7. Aggregate user sessions –This flag is closely related to the report by user flag.  Since the report by user flag is set to No by default for a VMware ESX server, this test will, by default, ignore the status of the aggregate user sessions flag while monitoring that server. In case of the VDI model on the other hand, the report by user flag is set to Yes by default. Therefore, the status of the aggregate user sessions flag gains significance in the case of the VDI server. By default, the aggregate user sessions flag is set to No. This implies that if a single user is currently logged into multiple guests, then this test, by default, will report a set of measures for every username on guestname. On the other hand, if the status of this flag is changed to Yes, then, this test will report a set of (aggregated) measures for every distinct user to the virtual desktop environment. In other words, this test will report measures that are aggregated across all the currently active sessions for a user, spanning multiple VMs.     
  8. 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.   

  9. 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.
  10. 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.

  11. 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.
  12. 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.
  13. 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.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Current sessions:

This measure is relevant only for monitoring of virtual desktops (i.e., for Hyper-V VDI servers). When reporting metrics for specific users, this metric indicates the number of sessions that each user has currently logged into; this measure will be available only if the test reports measures per currently logged in user.

Number

This is a good indicator of how busy the user is. The detailed diagnosis of this measure, if enabled, reveals the guests to which the user is currently logged on to.

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

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 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. Pages are 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.

Hypercalls:

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 this 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. 

The detailed diagnosis of the Current sessions measure reveals the guests to which the user is currently logged in.

DDforcurrentsessions-final

Figure 1 : The detailed diagnosis of the Current sessions measure