Percentagem Total de Tempo de DPC do Sistema Operativo

Microsoft.Linux.SLES.9.OperatingSystem.TotalPercentDPCTime.Monitor (UnitMonitor)

Monitor de Percentagem Total de Tempo de DPC do Sistema Operativo SUSE Linux Enterprise Server 9

Knowledge Base article:

Resumo

A percentagem total do tempo de DPC (para todos os processadores) é elevada. O desempenho do sistema pode ser afetado de forma adversa.

O tempo de DPC total corresponde ao tempo que todos os processadores despenderam a receber e a servir chamadas de procedimento diferidas (DPC). DPCs são interrupções executadas com uma prioridade mais baixa que as interrupções padrão. % Tempo de DPC é um componente de % Tempo Privilegiado porque as DPCs são executadas em modo privilegiado. Uma % Tempo de DPC constante pode causar um estrangulamento do processador ou um problema relacionado com uma aplicação ou com o hardware, que poderá reduzir significativamente o desempenho global do sistema.

O limiar do monitor é comparado com a média dos valores devolvidos nas consultas ao agente, e o número de amostras incluídas no cálculo da média é controlado pelo parâmetro Número de Amostras. O valor devolvido pelo agente é a média móvel dos 5 valores mais recentes consultados em intervalos de 1 minuto.

Configuração

Configuração Predefinida

Parâmetro

Valor Predefinido

Limiar

15

Intervalo (segundos)

300

Número de Amostras

3

As substituições podem ser utilizadas para alterar os valores dos parâmetros acima definidos para todas as instâncias ou para instâncias específicas ou grupos.

Causas

Uma condição de tempo de DPC elevado pode ser causada por uma ou mais das seguintes situações:

Resoluções

Para determinar a causa de raiz de uma condição de tempo de DPC elevado, siga o processo indicado abaixo. Observe a proporção do tempo do processador que é despendido a servir interrupções e DPC. Para tal, monitorize as métricas seguintes:

Compare os valores da % de Tempo de Interrupção (_Total) e das métricas de % de Tempo de DPC (_Total) com a % de Tempo do Processador (_Total).

Se % de Tempo do Processador (_Total) constante for > 85% e % Tempo de Interrupção (_Total) ou % Tempo de DPC (_Total) for > 15%, os processadores são provavelmente a origem de um estrangulamento do desempenho. Este congestionamento pode ser resolvido pela atualização ou adição de processadores ao computador.

Se a % de Tempo do Processador (_Total) constante for < 85% e a % de Tempo de Interrupção (_Total) ou a % Total de Tempo de DPC (_Total) for > 15%, o problema de desempenho pode resultar de uma questão relacionada com uma aplicação ou com o hardware.

Element properties:

TargetMicrosoft.Linux.SLES.9.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Percentagem Total de Tempo de DPC demasiado elevada
Foi excedido o limiar do contador de desempenho Processador\\% de Tempo de DPC\_Total. O valor que excedeu o limiar é: {0}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Linux.SLES.9.OperatingSystem.TotalPercentDPCTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.9.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.9.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>