Hyper-V MPE 2016 \% Hypervisor Run Time (Critical)

HyperV.MPE.2016.LogicalProcessor.HypervisorRunTime.Critical.Monitor (UnitMonitor)

Knowledge Base article:

Summary

Critical Threshold.

For guest VM’s this is the percentage of time the guest VP is running in hypervisor code on an LP or for the _Total the total across all guest VP’s. For the root this is the percentage of time the root VP is running in hypervisor code on an LP.

Element properties:

TargetHyperV.MPE.2016.LogicalProcessor
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Instance NameHyper-V Hypervisor Logical Processor
Counter Name\% Hypervisor Run Time
Frequency60
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
Hyper-V MPE 2016 Alert: \% Hypervisor Run Time (Critical)

Instance {0}
Object {1}
Counter {2}
Has a value {3}
RunAsDefault

Source Code:

<UnitMonitor ID="HyperV.MPE.2016.LogicalProcessor.HypervisorRunTime.Critical.Monitor" Accessibility="Public" Enabled="true" Target="HVMPE2016Dis!HyperV.MPE.2016.LogicalProcessor" ParentMonitorID="SHLib!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="HyperV.MPE.2016.LogicalProcessor.HypervisorRunTime.Critical.Monitor_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
<AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
<AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
<AlertParameter4>$Data/Context/SampleValue$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
<OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="MSWinLib!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Hypervisor Run Time</CounterName>
<ObjectName>Hyper-V Hypervisor Logical Processor</ObjectName>
<InstanceName>$Target/Property[Type="MSWinLib!Microsoft.Windows.LogicalDevice"]/DeviceID$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>60</Frequency>
<Threshold>50</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>