Próg wydajności: monitor użycia procesora CPU przez proces SMSExec

Microsoft.SystemCenter2012.ConfigurationManager.Perf_Threshold_SMSExec_CPU_Usage_Monitor (UnitMonitor)

Ten monitor umożliwia sprawdzenie, czy proces SMSExec nie powoduje nadmiernego użycia procesora CPU.

Knowledge Base article:

Podsumowanie

Wykorzystanie procesora usługi SMS Executive wzrosło powyżej 95 procent przez ponad trzy godziny. Ta wartość będzie się zwiększać do momentu rozwiązania problemu lub zmniejszenia liczby działań na komputerze. Jeżeli wartość progowa jest stale przekraczana, może to spowodować obniżenie wydajności.

Przyczyny

Wartość procentowa czasu procesora może przekroczyć wartość progową z powodu niewystarczającej wydajności przetwarzania bieżącego obciążenia.

Rozwiązania

Aby rozwiązać ten problem i zmniejszyć wartość procentową wykorzystania procesora:

Dodatkowe

Jeżeli ten alert generuje zbyt wiele fałszywych alarmów, można zmienić ustawienia na karcie wartości progowej właściwości reguły i określić wartości, które są bardziej odpowiednie dla danego środowiska.

Czas procesora (%) to wartość procentowa czasu, jaki upłynął, użytego przez wszystkie wątki tego procesu w celu wykonania instrukcji. Instrukcja to podstawowa jednostka wykonania na komputerze, wątek to obiekt, który wykonuje instrukcje, a proces to obiekt utworzony po uruchomieniu programu. Uwzględnia to także kod wykonany do obsługi przerwań sprzętowych i stanów pułapki. Na komputerach wieloprocesorowych maksymalna wartość licznika to 100 procent razy liczba procesorów.

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
Użycie procesora CPU przez proces SMSExec jest zbyt wysokie

Wystąpienie {0} obiektu {1} licznika {2} ma wartość {3} w czasie {4}
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>