Total Percent Processor DPC Time

Microsoft.Linux.SLES.10.Processor.PercentDPCTime.Monitor (UnitMonitor)

SUSE Linux Enterprise Server 10 Total Percent Processor DPC Time 모니터

Knowledge Base article:

요약

이 모니터는 시스템의 Total Percent DPC Time을 확인합니다. 이 모니터에서 경고가 수신되면 시스템을 작동 상태로 되돌리기 위한 조치가 필요할 수 있습니다.

Percent DPC Time은 프로세서가 DPC(유예된 프로시저 호출)를 수신 및 처리하는 데 걸린 시간의 비율(%)입니다. DPC 또는 소프트 인터럽트는 표준 인터럽트보다 낮은 우선 순위에서 실행되는 인터럽트입니다. High % DPC Time이 지속되면 프로세서가 병목 상태이거나 응용 프로그램 또는 하드웨어 관련 문제로 인해 전체 시스템 성능이 크게 저하된 것일 수 있습니다.

원인

High % DPC Time 값은 다음 중 하나 이상이 원인일 수 있습니다.

해결

DPC 비율이 높은 근본 원인을 확인하려면 아래에서 설명하는 프로세스를 수행하십시오. 인터럽트와 DPC를 처리하는 데 사용한 프로세서 시간 비율을 관찰하십시오. 이렇게 하려면 시스템 모니터를 사용하여 다음 카운터를 실시간으로 모니터링하십시오.

각 프로세서 인스턴스에 대해 % Interrupt Time 및 % DPC Time 카운터의 값을 Processor\% Processor Time과 비교하십시오.

프로세서 인스턴스가 지속적으로 85%를 초과하는 % Processor Time을 실행 중이고 인터럽트 및/또는 DPC를 처리하는 시간의 15%를 초과하여 사용하는 경우 프로세서가 성능 병목 상태의 원인일 수 있습니다. 이 병목 상태는 서버에서 프로세서를 업그레이드하거나 추가하여 해결할 수 있습니다.

프로세서가 지속적으로 85% 미만의 % Processor Time을 실행 중이고 인터럽트 및/또는 DPC를 처리하는 시간의 15%를 초과하여 사용하는 경우 성능 문제는 응용 프로그램 또는 하드웨어 관련 문제로 인해 발생할 수 있습니다.

Element properties:

TargetMicrosoft.Linux.SLES.10.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
DPC 시간 비율 너무 높음
Processor\\% DPC Time\ 성능 카운터의 임계값이 초과되었습니다. 임계값을 초과하는 값: {0}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Linux.SLES.10.Processor.PercentDPCTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.10.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.10.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>//*[local-name()="Name"]</InstanceProperty>
<Value>$Data///*[local-name()="PercentDPCTime"]$</Value>
<Threshold>15</Threshold>
<NumSamples>5</NumSamples>
</Configuration>
</UnitMonitor>