性能阈值: SMSExec CPU 使用率监视器

Microsoft.SystemCenter2012.ConfigurationManager.Perf_Threshold_SMSExec_CPU_Usage_Monitor (UnitMonitor)

此监视器通过 SMSExec 进程检查过多的 CPU 使用率。

Knowledge Base article:

摘要

SMS Executive 服务的处理器使用率在超过三小时内增量超过 95%。 如果不解决此问题或计算机上的活动数量不减少,这种情况的出现次数将会增加。 如果一直超出此阈值,则性能会受到影响。

原因

处理器时间百分比可能因用于当前负载的处理能力不足而超过阈值。

解决方法

要解决此问题,并降低处理器使用率百分比,请执行下列操作:

其他信息

如果此警报生成的误报过多,可以通过修改规则属性的阈值选项卡来指定更适合你的环境的值。

处理器时间百分比是指此进程的所有线程使用处理器来执行指令所经过的时间的百分比。 指令是计算机中的基本执行单位,线程是执行指令的对象,而进程是运行程序时创建的对象。 此计数中包含了代码,通过执行此代码来处理一些硬件中断和陷阱条件。 在包含多个处理器的计算机上,此计数器的最大值是 100% 乘以处理器的数量。

Element properties:

TargetMicrosoft.SystemCenter2012.ConfigurationManager.SiteServerRoleBaseClass
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Instance NameProcess
Counter Name\% Processor Time
Frequency900
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
SMSExec CPU 使用率过高

实例 {0} 对象 {1} 计数器 {2} 在 {4} 时的值为 {3}
RunAsDefault
CommentSIV:GEN0216, CreatedByMyFriend at 10/15/2011 5:24:48 PM

Source Code:

<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>