상태 서비스 핸들 수 임계값

Microsoft.SystemCenter.Agent.HealthService.HandleCountThreshold (UnitMonitor)

이 모니터는 "HealthService.exe" 프로세스의 "Process\Handle Count" 카운터가 일련의 연속 샘플 수 이상의 설정된 임계값을 초과하지 않는지 확인합니다. 조건이 충족되면 이 모니터는 위험 상태로 변경한 다음 "Health Service State" 모니터로 롤업합니다. "상태 서비스 상태" 모니터는 상태가 위험인 경우 System Center 관리 상태 서비스를 자동으로 다시 시작하는 복구를 실행하도록 구성되어 있습니다.

Knowledge Base article:

요약

이 유닛 모니터는 상태 서비스 프로세스에 대한 Process\Handle Count 사용량을 측정합니다. 이 사용량이 구성된 임계값을 초과하면 복구는 컴퓨터에 과도한 부하가 걸리지 않도록 System Center 관리 상태 서비스를 다시 시작하려고 합니다.

System Center 관리 상태 서비스가 수행하도록 구성된 역할에 따라 여러 임계값이 있습니다. 다음은 기본 임계값을 요약한 것입니다.

System Center 관리 상태 서비스 역할

Handle Count 임계값

에이전트

6,000

관리 서버

10,000

다음은 System Center 관리 상태 서비스를 다시 시작하는 복구 구성입니다.

System Center 관리 상태 서비스 역할

다시 시작 복구 동작

에이전트

사용

관리 서버

사용 안 함

원인

다음은 가능한 원인을 간단히 요약한 것입니다.

이 System Center 관리 상태 서비스가 구성된 모든 관리 팩에서 너무 많은 규칙 및 모니터가 로드되었습니다.

규칙 또는 모니터가 잘못 구성되어 너무 많은 데이터를 수집하거나 처리하고 있습니다(예: 성능 카운터 수집 규칙이 1초 간격으로 데이터를 수집하도록 설정됨).

많은 관리 팩을 실행하는 System Center 관리 상태 서비스로 인해 이 문제가 발생할 수 있습니다. 각 관리 팩에 소량의 리소스를 사용하는 모니터링 작업이 많을 수 있습니다. 많은 관리 팩에서 수많은 규칙 및 모니터를 실행하면서 System Center 관리 상태 서비스가 더 많은 리소스를 소모할 수 있습니다.

System Center 관리 상태 서비스에서 수행하는 모니터링 유형에 따라 이 System Center 관리 상태 서비스에서 이런 문제가 발생할 수 있습니다.

또 다른 원인으로는 하나 이상의 규칙 및 모니터가 최상의 방식에 부합되지 않을 수도 있습니다. 1초 간격으로 성능 데이터를 수집하려고 하는 성능 카운터 규칙이 한 예가 될 수 있습니다. 이런 방식으로 구성된 규칙이나 모니터가 너무 많으면 System Center 관리 상태 서비스 및 관련 프로세스가 더 많은 리소스를 소모하게 됩니다.

해결 방법

에이전트에서 실행되는 이 모니터는 기본적으로 System Center 관리 상태 서비스를 다시 시작합니다. 이 복구는 에이전트에서 기본으로 설정되어 있으므로 사용자 작업이 필요하지 않습니다.

이 모니터가 위험 상태로 계속 표시되면 System Center 관리 상태 서비스가 제대로 다시 시작되지 않았거나, 이 에이전트를 구성한 작업 계정에 서비스를 다시 시작할 수 있는 적절한 권한이 없는 것입니다.

이러한 경우 System Center 관리 상태 서비스 Windows 서비스를 시작합니다.

기술 자료 문서 968760에 제공된 핫픽스는 이 모니터가 위험 상태로 변경되지 않는 일부 문제점을 해결할 수 있습니다. 기술 자료 문서 968760(http://go.microsoft.com/fwlink/?LinkId=196234)의 핫픽스가 너무 많은 메모리를 사용하는 컴퓨터에 설치되어 있는지 확인하세요.

Element properties:

TargetMicrosoft.SystemCenter.HealthService
Parent MonitorMicrosoft.SystemCenter.HealthService.ServiceStateRollup
CategoryPerformanceHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.Agent.Performance.ConsecutiveSamplesThreshold.MonitorType
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.Agent.HealthService.HandleCountThreshold" Accessibility="Public" Enabled="true" Target="SCLibrary!Microsoft.SystemCenter.HealthService" ParentMonitorID="Microsoft.SystemCenter.HealthService.ServiceStateRollup" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter.Agent.Performance.ConsecutiveSamplesThreshold.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="HandleCountUnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
<OperationalState ID="HandleCountOverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<ObjectName>Process</ObjectName>
<CounterName>Handle Count</CounterName>
<InstanceName>HealthService</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>120</Frequency>
<NumSamples>5</NumSamples>
<Threshold>30000</Threshold>
<Direction>greater</Direction>
</Configuration>
</UnitMonitor>