PRO CPU Utilization

ProHostCPUUnitMonitor (UnitMonitor)

Threshold monitor for \%Processor Time on Hyper-V hosts

Knowledge Base article:

Summary

This monitor tracks the CPU performance of the host. The CPU usage has exceeded the threshold. (The default threshold is 75 percent.)

Causes

The virtual machines running on the host are consuming critical levels of the CPU resources on the host.

Resolutions

To free up CPU resources, migrate a virtual machine to another host. To have Virtual Machine Manager migrate a virtual machine, click Implement. If you choose to let VMM automatically migrate your virtual machine, VMM will use Intelligent Placement to determine the best destination for the virtual machine in the cluster. For information about automating Performance and Resource Optimization (PRO), see Virtual Machine Manager 2008 Help.

Element properties:

TargetMicrosoft.SystemCenter.VirtualMachineManager.Pro.2008.ManagedHost.HyperV
Parent MonitorSystem.Health.PerformanceState
CategoryCustom
EnabledFalse
Instance NameWin32_PerfFormattedData_HvStats_HyperVHypervisorLogicalProcessor
Counter NamePercentTotalRunTime
Frequency60
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.WmiBased.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
PRO CPU Utilization
CPU utilization on the host has reached critical levels. A \%Processor Time monitor has detected that the CPU utilization is greater than is greater than the threshold. (The default threshold is 75 percent.)
RunAsDefault

Source Code:

<UnitMonitor ID="ProHostCPUUnitMonitor" Accessibility="Public" Enabled="false" Target="VMMProLibrary!Microsoft.SystemCenter.VirtualMachineManager.Pro.2008.ManagedHost.HyperV" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.WmiBased.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="ProHostCPUUnitMonitor_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ProHostCPUUnitMonitor_StateSuccess" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
<OperationalState ID="ProHostCPUUnitMonitor_StateError" MonitorTypeStateID="ConditionTrue" HealthState="Error"/>
</OperationalStates>
<Configuration>
<NameSpace>root\cimv2</NameSpace>
<Query>SELECT * from Win32_PerfFormattedData_HvStats_HyperVHypervisorLogicalProcessor WHERE Name = '_Total'</Query>
<Frequency>60</Frequency>
<ObjectName>Win32_PerfFormattedData_HvStats_HyperVHypervisorLogicalProcessor</ObjectName>
<CounterName>PercentTotalRunTime</CounterName>
<InstanceName>_Total</InstanceName>
<Value>$Data/Property[@Name='PercentTotalRunTime']$</Value>
<Threshold>75</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>