Solaris 11 Processor Percent Processor Time Monitor
This monitor checks the Percent Processor Time for each processor. If you receive an alert from this monitor, action can be required in order to bring the system back to an operational state.
The Percent Processor Time is the percentage of time the processor was busy during the sampling interval.
High processor-time values can occur under the following circumstances:
New processes are started.
Processes are blocked while waiting for I/O.
There are too many processes on the system.
Low Memory is causing excessive swapping and high I/O.
To address high percent processor times choose one or more of the following options:
Identify processes that are running when the Percent Processor Time is at the highest. Execute the "top" command or execute "Top 10 CPU Processes" Task from the State View. It will provide a listing of processes ordered by CPU usage, the listing by default will display only the top CPU consuming processes and their corresponding PID (Process ID).
Stop or kill any unnecessary identified processes. Utilizing the output from the "top" command identify any offending or unnecessary processes along with its PID number. Issue a "kill" command utilizing the PID for the process. For example, if the PID number for the process is 4510, then issue the command 'kill 4510'.
Add additional CPUs or Physical Memory to the computer.
Move applications to one or more additional servers.
Target | Microsoft.Solaris.11.Processor | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Solaris.11.Processor.PercentProcessorTime.Monitor" Accessibility="Public" Target="Microsoft.Solaris.11.Processor" 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.Processor.PercentProcessorTime.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>$Target/Property[Type="Unix!Microsoft.Unix.Processor"]/PerfmonInstance$</InstanceName>
<InstanceProperty>//*[local-name()="Name"]</InstanceProperty>
<Value>$Data///*[local-name()="PercentProcessorTime"]$</Value>
<Threshold>95</Threshold>
<NumSamples>5</NumSamples>
</Configuration>
</UnitMonitor>