Total Percent Processor DPC Time

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

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

Knowledge Base article:

요약

단일 프로세서의 DPC 시간 비율이 높습니다. 시스템 성능이 저하될 수 있습니다.

프로세서 DPC 시간은 단일 프로세서가 DPC(지연된 프로시저 호출)를 수신하고 처리하는 데 걸린 시간입니다. DPC는 표준 인터럽트보다 낮은 우선 순위로 실행되는 인터럽트입니다. DPC는 특권 모드에서 실행되므로 % DPC Time은 % Privileged Time의 구성 요소입니다. 높은 % DPC Time이 지속되면 전반적인 시스템 성능을 상당히 떨어뜨리는 프로세서 병목이나 응용 프로그램 또는 하드웨어 관련 문제가 발생한 것일 수 있습니다.

모니터 임계값은 에이전트에 대한 폴링에 반환된 평균 값에 대해 분석됩니다. 여기서 샘플 수 매개 변수가 평균 계산에 포함된 샘플 수를 제어합니다. 에이전트가 반환한 값은 1분 간격으로 쿼리된 최근 5개 값의 이동 평균입니다.

구성

개별 프로세서 모니터링은 기본적으로 비활성화되어 있습니다. 'SUSE Linux Enterprise Server 11 프로세서 검색'이라는 개체 검색을 사용하도록 설정하여 모니터링을 활성화합니다.

기본 구성

매개 변수

기본값

임계값

15

간격(초)

300

샘플 수

3

모든 인스턴스나 특정 인스턴스 또는 그룹에 대해 위에서 정의한 매개 변수 값을 변경하는 데 재정의를 사용할 수 있습니다.

원인

높은 DPC 시간 상태의 원인은 다음 중 하나 이상일 수 있습니다.

해결 방법

높은 DPC 시간 상태의 근본 원인을 확인하려면 아래에 개요되어 있는 프로세스를 따르십시오. 인터럽트 및 DPC에 응답하는 데 보낸 프로세서 시간의 일부를 관찰합니다. 이렇게 하려면 다음 메트릭을 모니터링하십시오.

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

% Processor Time이 지속적으로 85%를 초과하고 % Interrupt Time 또는 % DPC Time이 15%를 초과하는 경우 이러한 프로세서가 성능 병목 상태의 원인일 수 있습니다. 이 병목 상태는 컴퓨터에서 프로세서를 업그레이드하거나 추가하여 해결할 수 있습니다.

% Processor Time이 지속적으로 85% 미만이고 % Interrupt Time 또는 Total % DPC Time이 15%를 초과하는 경우 성능 문제의 원인은 응용 프로그램 또는 하드웨어 관련 문제 때문일 수 있습니다.

Element properties:

TargetMicrosoft.Linux.SLES.11.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.11.Processor.PercentDPCTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.11.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.11.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>