Monitoraggio Percentuale tempo DPC totale processore SUSE Linux Enterprise Server 11
La percentuale di tempo DPC (per un singolo processore) è elevata. Le prestazioni del sistema potrebbero essere compromesse.
Tempo DPC processore è il tempo utilizzato da un singolo processore per ricevere ed elaborare chiamate di procedura differite (DPC). Le DPC rappresentano interrupt che vengono eseguiti a priorità più bassa rispetto agli interrupt standard. % tempo DPC è un componente di % tempo privilegiato, poiché le DPC vengono eseguite in modalità privilegiata. % tempo DPC alta indica un collo di bottiglia nel processore o un problema relativo a un'applicazione o all'hardware, in grado di ridurre in modo significativo le prestazioni globali del sistema.
La soglia di monitoraggio viene analizzata confrontandola con una media dei valori restituiti all'agente in forma di sondaggi, dove il parametro Numero di campioni si riferisce al numero di campioni inclusi nel calcolo della media. Il valore restituito dall'agente è la media in sequenza dei 5 valori più recenti con esecuzione di query a intervalli di 1 minuto.
Il monitoraggio dei singoli processori è disattivato per impostazione predefinita. Abilitare il monitoraggio consentendo l'individuazione oggetti denominata "Individuazione processore SUSE Linux Enterprise Server 11".
Configurazione predefinita
Parametro | Valore predefinito |
Soglia | 15 |
Intervallo (secondi) | 300 |
Numero di campioni | 3 |
Override può essere utilizzato per modificare i valori di parametro definiti in precedenza per tutte le istanze o per istanze specifiche o gruppi.
Una condizione di tempo DPC alto può essere causato da una o più delle seguenti situazioni:
Collo di bottiglia del processore
Problema relativo al software
Problema relativo all'hardware o ai driver di periferica
per stabilire la causa principale di una condizione di tempo DPC elevata, attenersi alle procedure elencate di seguito. Osservare la proporzione tra il tempo del processore impiegato a gestire gli interrupt e quello impiegato per le DPC. A tale scopo, monitorare le seguenti metriche:
Processore\% tempo processore
Processore\% tempo di Interrupt
Processore\% tempo DPC
Confrontare i valori dei contatori % tempo di Interrupt e % metrica tempo DPC con % tempo processore per ogni istanza di processore.
Se % continua tempo processore è > 85% e % tempo di Interrupt o % tempo DPC è > 15%, i processori, probabilmente, sono la fonte del collo di bottiglia delle prestazioni. È possibile risolvere il collo di bottiglia aggiornando o installando processori sul computer.
Se % continua tempo processore è < 85% e % tempo di Interrupt o % tempo DPC totale è > 15%, è possibile che la riduzione delle prestazioni sia dovuta a un problema relativo a un'applicazione o all'hardware.
Target | Microsoft.Linux.SLES.11.Processor | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Linux.SLES.11.Processor.PercentDPCTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.11.Processor" TypeID="Unix!Microsoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType" Enabled="true" ParentMonitorID="SystemHealth!System.Health.PerformanceState">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Linux.SLES.11.Processor.PercentDPCTime.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState HealthState="Success" MonitorTypeStateID="UnderThreshold" ID="UnderThreshold"/>
<OperationalState HealthState="Error" MonitorTypeStateID="OverThreshold" ID="OverThreshold"/>
</OperationalStates>
<Configuration>
<TargetSystem>$Target/Host/Property[Type="Unix!Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<Uri>http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_ProcessorStatisticalInformation?__cimnamespace=root/scx</Uri>
<Filter/>
<SplitItems>true</SplitItems>
<Interval>300</Interval>
<ObjectName>Processor</ObjectName>
<CounterName>% Interrupt Time</CounterName>
<InstanceName>$Target/Property[Type="Unix!Microsoft.Unix.Processor"]/PerfmonInstance$</InstanceName>
<InstanceProperty>/DataItem/WsManData/*[local-name(.)='SCX_ProcessorStatisticalInformation']/*[local-name(.)='Name']</InstanceProperty>
<Value>$Data/WsManData/*[local-name(.)='SCX_ProcessorStatisticalInformation']/*[local-name(.)='PercentDPCTime']$</Value>
<Threshold>15</Threshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>