Percentual Total de Tempo de DPC do Sistema Operacional

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

Monitor da Percentual de Tempo DPC Total do Sistema Operacional SUSE Linux Enterprise Server 12

Knowledge Base article:

Resumo

O percentual total do tempo de DPC (para todos os processadores) está alto. O desempenho do sistema poderá ser afetado negativamente.

O tempo total de DPC é o tempo que todos os processadores gastaram recebendo e atendendo DPCs (chamadas de procedimento adiadas). DPCs são interrupções executadas em uma prioridade mais baixa do que as interrupções padrão. % Tempo de DPC é um componente de % Tempo Privilegiado porque as DPCs são executadas em modo privilegiado. Se for mantido um alto percentual de tempo de DPC, poderá haver um gargalo de processador ou um problema relacionado ao aplicativo ou hardware que pode reduzir significativamente o desempenho geral do sistema.

O limite do monitor é analisado em relação a uma média de valores retornados em sondagens no agente, em que o parâmetro Número de Amostras controla o número de amostras incluídas no cálculo da média. O valor retornado pelo agente é a média móvel dos 5 valores mais recentes consultados em intervalos de 1 minuto.

Configuração

Configuração Padrão

Parâmetro

Valor Padrão

Limite

15

Intervalo (segundos)

300

Número de Amostras

3

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

Causas

Um alto tempo de DPC pode ser causado por uma ou mais das seguintes condições:

Resoluções

Para determinar a causa principal de uma condição de alto tempo de DPC, siga o processo descrito a seguir. Observe a proporção do tempo do processador gasto para atender interrupções e DPCs. Para isso, monitore as seguintes métricas:

Compare os valores de % Tempo de Interrupção (_Total) e % Tempo de DPC (_Total) com % Tempo de Processador (_Total).

Se o % de Tempo de Processador (_Total) mantido for > 85% e o % de Tempo de Interrupção (_Total) ou o % de Tempo de DPC (_Total) for > 15%, os processadores provavelmente serão a origem de um gargalo de desempenho. Esse gargalo pode ser resolvido atualizando ou adicionando processadores ao computador.

Se o % de Tempo de Processador (_Total) mantido for < 85% e o % de Tempo de Interrupção (_Total) ou o % de Tempo de DPC (_Total) for > 15%, o problema de desempenho poderá ser resultado de um problema de aplicativo ou hardware.

Element properties:

TargetMicrosoft.Linux.SLES.12.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
O Percentual de Tempo de DPC Total está alto demais
O limite para o contador de desempenho Processador\\% Tempo de DPC\_Total foi excedido. O valor que excedeu o limite é: {0}.
RunAsDefault

Source Code:

<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>