Monitor Porcentaje total de tiempo de DPC del sistema operativo SUSE Linux Enterprise Server 12
El porcentaje total de tiempo de DPC (para todos los procesadores) es elevado. El rendimiento del sistema puede verse afectado negativamente.
El tiempo total de DPC es el tiempo que todos los procesadores han dedicado a recibir y atender llamadas a procedimiento diferidas (DPC). Las DPC son interrupciones que se ejecutan con una prioridad inferior a la de las interrupciones estándar. % de tiempo de DPC es un componente de % tiempo privilegiado porque las DPC se ejecutan en modo privilegiado. Si un porcentaje de tiempo de DPC elevado es prolongado, podría haber un cuello de botella en el procesador, o bien un problema relacionado con una aplicación o con el hardware, lo que puede afectar de forma significativa al rendimiento global del sistema.
El umbral de monitor se analiza con el promedio de valores devueltos por sondeos realizados al agente, donde el parámetro de número de muestras controla el número de muestras incluidas en el cálculo del promedio. El valor devuelto por el agente es la media acumulada de los 5 valores más recientes consultados en intervalos de 1 minuto.
Configuración predeterminada
Parámetro | Valor predeterminado |
Umbral | 15 |
Intervalo (segundos) | 300 |
Número de muestras | 3 |
Se pueden usar invalidaciones para cambiar los valores de parámetros definidos anteriormente para todas las instancias o para instancias o grupos específicos.
Un estado de tiempo de DPC elevado puede deberse a una o varios de las siguientes razones:
Un cuello de botella en el procesador
Un problema relacionado con el software
Un problema relacionado con el hardware o con un dispositivo
Para determinar la causa raíz de un estado de tiempo de DPC elevado, aplique el procedimiento descrito a continuación. Observe la proporción de tiempo del procesador invertido en atender interrupciones y DPC. Para ello, supervise las métricas siguientes:
Procesador\Porcentaje de tiempo de procesador (total)
Procesador\Porcentaje de tiempo de interrupción (total)
Procesador\Porcentaje de tiempo de DPC (total)
Compare los valores de las métricas de Porcentaje de tiempo de interrupción (total) y Porcentaje de tiempo de DPC (total) con el Porcentaje de tiempo de procesador (total).
Si el Porcentaje de tiempo de procesador (total) sostenido es > 85 % y el Porcentaje de tiempo de interrupción (total) o el Porcentaje de tiempo de DPC (total) es > 15, los procesadores son probablemente la causa de un cuello de botella de rendimiento. Este cuello de botella se puede solucionar si se actualizan los procesadores o se agregan procesadores al equipo.
Si el Porcentaje de tiempo de procesador (total) es < 85 % y el Porcentaje de tiempo de interrupción (total) o el Porcentaje de tiempo de DPC (total) es > 15 %, el problema de rendimiento puede deberse a un problema relacionado con hardware o con una aplicación.
Target | Microsoft.Linux.SLES.12.OperatingSystem | ||
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.12.OperatingSystem.TotalPercentDPCTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.12.OperatingSystem" 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.12.OperatingSystem.TotalPercentDPCTime.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>_Total</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>