Porcentagem de Tempo de DPC Total (Sistema Operacional Windows Server 2008 R2)

Microsoft.Windows.Server.2008.R2.OperatingSystem.TotalDPCTime (UnitMonitor)

Monitora a porcentagem de tempo de DPC no sistema operacional Windows Server 2008 R2

Knowledge Base article:

Resumo

A % Tempo de DPC (Informações do Processador\% Tempo de DPC\_Total) do sistema excedeu o limite. O desempenho geral do sistema pode ser reduzido significativamente o que resultará em desempenho inadequado do sistema operacional e do aplicativo.

A % Tempo de DPC é a porcentagem de tempo gasta pelo processador para receber e atender chamadas de procedimento deferidas (DPCs). DPCs são interrupções executadas em uma prioridade mais baixa do que as interrupções padrão. Se uma % Tempo de DPC alta for mantida, poderá haver um afunilamento do processador ou um problema relacionado ao aplicativo ou hardware que pode reduzir significativamente o desempenho geral do sistema.

Esse monitor é válido somente para sistema operacional Windows Server 2008 R2.

Causas

Um valor alto de % Tempo de DPC pode ser provocado por uma ou mais das seguintes condições:

Resoluções

Para determinar o problema raiz de uma taxa alta de DPC, siga o processo descrito a seguir.

Observe a proporção do tempo do processador gasto para atender interrupções e DPCs. Para fazer isso, monitore os seguintes contadores em tempo real usando o Monitor do Sistema:

Se uma instância do processador estiver executando um valor prolongado de % Tempo do Processador acima de 85% e também estiver passando mais de 15% desse tempo atendendo a Interrupções e/ou DPCs, é provável que o processador seja a origem de um afunilamento de desempenho. Esse afunilamento pode ser resolvido atualizando ou adicionando mais processadores ao computador.

Se o processador estiver executando uma % Tempo de Processador prolongada de < 85% e também estiver gastando > 15% desse tempo atendendo a interrupções e/ou DPCs, o problema de desempenho poderá ser o resultado de um problema relacionado a hardware ou aplicativo.

Quando um dispositivo de hardware for a causa raiz, o administrador descobrirá que a % Tempo de DPC provavelmente aumentou substancialmente em um curto período de tempo. Isso normalmente ocorre quando novo hardware é instalado ou quando drivers foram atualizados. Se o administrador puder isolar o problema como um problema de hardware/dispositivo, ele poderá ser resolvido com um trabalho conjunto com o fornecedor.

Em casos em que você está administrando um sistema de multiprocessador que não distribui interrupções simetricamente, é possível melhorar a distribuição da carga de trabalho do processador adicionando adaptadores de rede, de forma que exista um adaptador para cada processador. Geralmente, você adiciona adaptadores apenas quando precisa melhorar a taxa de transferência do sistema. Adaptadores de rede, como qualquer hardware adicional, incluem alguma sobrecarga intrínseca. No entanto, se um dos processadores estiver quase sempre ativo (isto é, se o Processador: % Tempo do Processador = 100) e mais da metade de seu tempo for gasto atendendo DPCs (se o Processador: % Tempo de DPC > 50), a adição de um adaptador provavelmente melhorará o desempenho do sistema, desde que a largura de banda da rede disponível já não esteja saturada.

Quando um aplicativo for a causa raiz, você descobrirá que as DPCs provavelmente estão sendo bloqueadas por uma aplicativo que emitiu uma chamada que está utilizando uma quantidade de tempo significativa para ser concluída. Durante esse tempo, as DPCs são bloqueadas e enfileiradas. Para determinar qual aplicativo é a causa raiz, você deve executar desempenho, rastreamento e diagnósticos avançados de desempenho e rastreamento para descobrir exatamente o aplicativo responsável pelo problema de desempenho.

Element properties:

TargetMicrosoft.Windows.Server.2008.R2.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Instance NameProcessor Information
Counter Name\% DPC Time
Frequency120
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
A Porcentagem de Tempo de DPC Total é muito alta
O limite para o contador de desempenho Processador\\% Tempo de DPC\_Total foi excedido.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.2008.R2.OperatingSystem.TotalDPCTime" Accessibility="Public" Enabled="false" Target="Server2008!Microsoft.Windows.Server.2008.R2.OperatingSystem" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.2008.R2.OperatingSystem.TotalDPCTime.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters/>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="ConditionTrue" HealthState="Error"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% DPC Time</CounterName>
<ObjectName>Processor Information</ObjectName>
<InstanceName>_Total</InstanceName>
<Frequency>120</Frequency>
<Threshold>95</Threshold>
<Direction>greater</Direction>
<NumSamples>5</NumSamples>
</Configuration>
</UnitMonitor>