Percentagem de Tempo de Interrupção do Processador

Microsoft.Linux.RHEL.7.Processor.PercentInterruptTime.Monitor (UnitMonitor)

Monitor de Percentagem de Tempo de Interrupção de Processador do Red Hat Enterprise Linux Server 7

Knowledge Base article:

Resumo

A percentagem de tempo de interrupção (para um único processador) é elevada. O desempenho do sistema pode ser afetado negativamente.

O tempo de interrupção do processador é o tempo que um único processador despende a receber e a servir interrupções de hardware. Este valor é um indicador indireto da atividade dos dispositivos que geram interrupções, tais como o relógio do sistema, o rato, os controladores de armazenamento, as linhas de comunicações de dados, as placas de interface de rede e outros dispositivos periféricos. Estes dispositivos costumam interromper o processador quando terminam uma tarefa ou requerem atenção. A execução normal de thread é suspensa durante as interrupções.

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 últimos 5 valores consultados a intervalos de 1 minuto.

Configuração

A monitorização dos processadores individuais está desativada por predefinição. Ative a monitorização, ativando a deteção de objetos denominada "Detetar Processador do Red Hat Enterprise Linux Server 7".

Configuração Predefinida

Parâmetro

Valor Predefinido

Limiar

10

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 interrupção elevado indica muitas vezes que existe um problema num dispositivo de hardware.

Resoluções

É necessário consultar os ficheiros de registo do sistema para identificar eventuais erros dos dispositivos.

Element properties:

TargetMicrosoft.Linux.RHEL.7.Processor
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 de Tempo de Interrupção demasiado elevada
Foi excedido o limiar do contador de desempenho Processador\\% de Tempo de Interrupção\. O valor que excedeu o limiar é: {0}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Linux.RHEL.7.Processor.PercentInterruptTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.RHEL.7.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.RHEL.7.Processor.PercentInterruptTime.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(.)='PercentInterruptTime']$</Value>
<Threshold>10</Threshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>