이 모니터는 SMSExec 프로세스의 CPU 사용량이 초과되는지 검사합니다.
지난 3시간 이상 동안 SMS Executive 서비스에 대한 프로세서 활용률이 95% 이상까지 상승했습니다. 이 상태는 문제가 해결되거나 컴퓨터의 작업 수가 감소할 때까지 계속 증가합니다. 지속적으로 이 임계값을 초과하는 경우 성능이 저하됩니다.
현재 로드에 대한 처리 용량이 부족하기 때문에 프로세서 시간 백분율이 임계값을 초과할 수 있습니다.
이 문제를 해결하고 프로세서 활용률을 낮추려면 다음을 수행합니다.
다른 프로세서를 추가합니다.
더 빠른 프로세서로 업그레이드합니다.
프로세스를 다른 컴퓨터로 이동하여 SMS Executive 서비스의 로드를 줄입니다. 배포 지점, 관리 지점과 같은 서버 역할을 전용 서버로 오프로드합니다.
이 경고가 너무 많은 긍정 오류를 생성하는 경우 규칙 속성의 임계값 탭을 수정하여 현재 환경에 더 적합한 값을 지정할 수 있습니다.
% Processor Time은 모든 프로세스 스레드가 프로세서를 사용하여 명령을 실행하는 데 걸린 시간의 백분율입니다 명령은 컴퓨터의 기본 실행 단위이고, 스레드는 컴퓨터 명령을 실행하는 개체이며, 프로세스는 프로그램이 실행될 때 만들어지는 개체입니다 일부 하드웨어 인터럽트 또는 트랩 상태를 처리하기 위해 실행되는 코드도 이 계산에 포함됩니다. 프로세서가 여러 개인 컴퓨터에서 카운터의 최대값은 100%에 프로세서 수를 곱한 값입니다.
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/SampleValue$</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>