OperatingSystem Total Percent Processor Time

Microsoft.Solaris.11.OperatingSystem.TotalPercentProcessorTime.Monitor (UnitMonitor)

Solaris 11 OperatingSystem Total Percent Processor Time Monitor

Knowledge Base article:

Summary

The total percentage of processor time (for all processors) is high. System performance may be adversely affected.

Total processor time is the time that all processors spent running a non-idle thread. Each processor has an idle thread that consumes cycles when no other threads are ready to run. This metric is the primary indicator of processor activity, and displays the average percentage of busy time observed.

The monitor threshold is analyzed against an average of values returned in polls to the agent, where the Number of Samples parameter controls the number of samples included in the calculation of the average. The value returned by the agent is the rolling average of the 5 most recent values queried at 1 minute intervals.

Configuration

Default Configuration

Parameter

Default Value

Threshold

95

Interval (seconds)

300

Number of Samples

3

Overrides can be used to change the parameter values defined above for all instances or for specific instances or groups.

Causes

An unhealthy state indicates that the processor utilization is currently high. This may be caused by an application using excessive processor resources.

Resolutions

To address high processor time conditions choose one or more of the following options:

Element properties:

TargetMicrosoft.Solaris.11.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Total CPU Utilization Percentage is too high
The threshold for the Processor\\% Processor Time\_Total performance counter has been exceeded. The value that exceeds the threshold is: {0}\% CPU.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Solaris.11.OperatingSystem.TotalPercentProcessorTime.Monitor" Accessibility="Public" Target="Microsoft.Solaris.11.OperatingSystem" TypeID="Unix!Microsoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType" Enabled="true" ParentMonitorID="SystemHealth!System.Health.PerformanceState">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Solaris.11.OperatingSystem.TotalPercentProcessorTime.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState HealthState="Success" MonitorTypeStateID="UnderThreshold" ID="UnderThreshold"/>
<OperationalState HealthState="Error" MonitorTypeStateID="OverThreshold" ID="OverThreshold"/>
</OperationalStates>
<Configuration>
<TargetSystem>$Target/Host/Property[Type="Unix!Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<Uri>http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_ProcessorStatisticalInformation?__cimnamespace=root/scx</Uri>
<Filter/>
<SplitItems>true</SplitItems>
<Interval>300</Interval>
<ObjectName>Processor</ObjectName>
<CounterName>% Processor Time</CounterName>
<InstanceName>_Total</InstanceName>
<InstanceProperty>/DataItem/WsManData/*[local-name(.)='SCX_ProcessorStatisticalInformation']/*[local-name(.)='Name']</InstanceProperty>
<Value>$Data/WsManData/*[local-name(.)='SCX_ProcessorStatisticalInformation']/*[local-name(.)='PercentProcessorTime']$</Value>
<Threshold>95</Threshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>