Soglia delle prestazioni: Monitoraggio utilizzo della CPU di SMSExec

Microsoft.SystemCenter2012.ConfigurationManager.Perf_Threshold_SMSExec_CPU_Usage_Monitor (UnitMonitor)

Questo monitoraggio controlla l'eccessivo utilizzo della CPU da parte del processo SMSExec.

Knowledge Base article:

Riepilogo

La percentuale di utilizzo del processore per il servizio SMS Executive è rimasta al di sopra del 95% per oltre tre ore. Questa condizione si intensifica a meno che non venga risolta o la mole di attività nel computer non subisca una riduzione. Se questa soglia viene superata in misura considerevole, le prestazioni ne risentono.

Cause

Percentuale tempo processore può superare la soglia a causa di una capacità di elaborazione insufficiente per il carico corrente.

Soluzioni

Per risolvere il problema e ridurre la percentuale di utilizzo del processore:

Risorse aggiuntive

Se l'avviso genera troppi falsi positivi, è possibile modificare la scheda soglia delle proprietà della regola per specificare valori più appropriati all'ambiente.

% tempo processore indica la percentuale di tempo trascorso in cui tutti i thread del processo hanno usato il processore per eseguire istruzioni. L'istruzione è l'unità fondamentale di esecuzione in un computer, il thread è l'oggetto che esegue le istruzioni e il processo è l'oggetto creato all'esecuzione di un programma. Il codice eseguito per gestire alcuni interrupt hardware e le condizioni di trap è incluso in questo conteggio. Nei computer multiprocessore, il valore massimo del contatore è 100 volte il numero dei processori.

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
Utilizzo della CPU di SMSExec troppo elevato

Istanza {0} Oggetto {1} Contatore {2} Con valore {3} Ora {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>