This monitor checks for excess CPU Usage by the SMSExec process.
The processor utilization for the SMS Executive service has increased to over 95 percent for more than three hours. This condition increases unless it is resolved or until the amount of activity on the computer decreases. If this threshold is consistently exceeded, performance suffers.
The percent processor time can exceed the threshold because of insufficient processing capacity for the current load.
To resolve this problem and lower the percentage of processor utilization:
Add an additional processor.
Upgrade to a faster processor.
Reduce the load on the SMS Executive service by moving processes to another computer. Offload server roles, such as distribution points and management points to dedicated servers.
If this alert is generating too many false positives, you can modify the threshold tab of the rule properties to designate values that are more appropriate for your environment.
% Processor Time is the percentage of elapsed time that all of the threads of this process used the processor to execute instructions. An instruction is the basic unit of execution in a computer, a thread is the object that executes instructions, and a process is the object created when a program is run. Code that is executed to handle some hardware interrupts and trap conditions is included in this count. On multiprocessor machines the maximum value of the counter is 100 percent times the number of processors.
Target | Microsoft.SystemCenter2012.ConfigurationManager.SiteServerRoleBaseClass | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Instance Name | Process | ||
Counter Name | \% Processor Time | ||
Frequency | 900 | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | System.Performance.ConsecutiveSamplesThreshold | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default | ||
Comment | SIV:GEN0216, CreatedByMyFriend at 10/15/2011 5:24:48 PM |
<UnitMonitor ID="Microsoft.SystemCenter2012.ConfigurationManager.Perf_Threshold_SMSExec_CPU_Usage_Monitor" Comment="SIV:GEN0216, CreatedByMyFriend at 10/15/2011 5:24:48 PM" Accessibility="Public" Enabled="onEssentialMonitoring" Target="SCCM!Microsoft.SystemCenter2012.ConfigurationManager.SiteServerRoleBaseClass" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter2012.ConfigurationManager.Perf_Threshold_SMSExec_CPU_Usage_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/Value$</AlertParameter4>
<AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
<OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Processor Time</CounterName>
<ObjectName>Process</ObjectName>
<InstanceName>SMSExec</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>900</Frequency>
<Threshold>95</Threshold>
<Direction>greater</Direction>
<NumSamples>12</NumSamples>
</Configuration>
</UnitMonitor>