Porcentagem Total de Tempo de DPC do Sistema Operacional

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

Monitor da Porcentagem de Tempo DPC Total do Sistema Operacional SUSE Linux Enterprise Server 11

Knowledge Base article:

Resumo

A porcentagem total do tempo de DPC (para todos os processadores) está alta. 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 mantida uma alta porcentagem de tempo de DPC, poderá haver um afunilamento 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, onde 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 de 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 seguinte métricas:

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

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

Se o % Tempo de Processador (_Total) mantido for < 85% e o % Tempo de Interrupção (_Total) ou o % 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.11.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
A Porcentagem de Tempo de DPC Total é muito alta
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.11.OperatingSystem.TotalPercentDPCTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.11.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.11.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>