Monitor de Porcentagem de Tempo DPC Total do Processador SUSE Linux Enterprise Server 12
A porcentagem de tempo de DPC (para um único processador) está alta. O desempenho do sistema poderá ser afetado negativamente.
O tempo de DPC do processador é o tempo que um único processador gastou 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.
O monitoramento de processadores individuais é desabilitado por padrão. Habilite o monitoramento habilitando a descoberta de objeto denominada 'Discover SUSE Linux Enterprise Server 12 Processor'.
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.
Um alto tempo de DPC pode ser causado por uma ou mais das seguintes condições:
Afunilamento do processador
Problema relacionado a software
Problema relacionado a driver de dispositivo
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:
Processador\% Tempo do Processador
Processador\% Tempo de Interrupção
Processador\% Tempo de DPC
Compare os valores das métricas % Tempo de Interrupção e % Tempo de DPC com % Tempo de Processador para cada instância do processador.
Se o % Tempo de Processador mantido for > 85% e o % Tempo de Interrupção ou o % Tempo de DPC 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 mantido for < 85% e o % Tempo de Interrupção ou o % Tempo de DPC for > 15%, o problema de desempenho poderá ser resultado de um problema de aplicativo ou hardware.
Target | Microsoft.Linux.SLES.12.Processor | ||
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.Processor.PercentDPCTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.12.Processor" 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.Processor.PercentDPCTime.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>$Target/Property[Type="Unix!Microsoft.Unix.Processor"]/PerfmonInstance$</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>