Ten monitor umożliwia sprawdzenie, czy proces SMSExec nie powoduje nadmiernego użycia procesora CPU.
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.
Wartość procentowa czasu procesora może przekroczyć wartość progową z powodu niewystarczającej wydajności przetwarzania bieżącego obciążenia.
Aby rozwiązać ten problem i zmniejszyć wartość procentową wykorzystania procesora:
Należy dodać kolejny procesor.
Należy wymienić procesor na szybszy.
Należy zmniejszyć obciążenie usługi programu SMS Executive, przenosząc procesy na inny komputer. Należy odciążyć role serwera, takie jak punkty dystrybucji i punkty zarządzania, umieszczając je na serwerach dedykowanych.
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.
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>