다음을 통해 공유


COM+는 Windows Server에서 프로세스 덤프 파일 및 프로세스 종료의 자동 수집을 지원합니다.

적용 대상: Windows 10 Windows SDK
원본 KB 번호: 910904

소개

COM+ 구성 요소에서 비정상적으로 높은 호출 시간이 발생하는 경우 시스템에서 이벤트를 기록합니다. 이벤트 로그는 문제가 발생하는 COM+ 구성 요소를 식별합니다. 또한 이벤트 로그는 이 문서(910904)를 언급합니다. 시스템은 다음 작업 중 하나 또는 둘 다를 수행하도록 구성할 수 있습니다.

  • 문제의 근본 원인 분석을 위해 프로세스 덤프 파일을 자동으로 수집합니다.
  • 수동 개입 없이 문제를 복구하는 데 도움이 되도록 프로세스를 종료합니다.

시스템이 덤프 파일을 수집한 후 디버그 진단 도구 (DebugDiag)를 사용하여 문제를 설명하고 알려진 솔루션을 제공하는 보고서를 생성합니다.

기본 동작

다음과 같은 경우를 생각해볼 수 있습니다.

  • COM+ 구성 요소의 호출 시간이 10분을 초과합니다.
  • 이 장기 실행 COM+ 구성 요소를 호스트하는 애플리케이션이 실행되는 동안 Component Services MMC(Microsoft Management Console) 스냅인을 엽니다.

이 시나리오에서는 다음 이벤트가 애플리케이션 로그에 기록됩니다.

Event Type: information
Event Source Information: COM+
COM+ Event Category: (117)
Event ID: 782
Description: The average call duration exceeded 10 minutes.
If this is not the expected behavior, see Microsoft Knowledge Base Article 910904 in http://support.microsoft.com for detailed information about
how to use the COM+ AutoDump feature to automatically generate dump files and terminate the process if the problem recurs.
Server application ID: <YourAppID>
Server application instance ID: <YourAppInstanceID>
Server application name: <YourAppName>

구성 옵션

중요

이 섹션에는 레지스트리 수정이 포함됩니다. 단계를 주의 깊게 수행합니다. 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 예방 조치로 레지스트리를 백업합니다. 레지스트리를 백업 및 복원하는 방법에 대한 자세한 내용은 Windows에서 레지스트리를 백업 및 복원하는 방법을 참조하세요.

장기 실행 COM+ 구성 요소가 검색되면 다음 작업 중 하나 또는 둘 다를 수행하도록 시스템을 구성할 수 있습니다.

  • 프로세스 덤프 파일을 자동으로 수집합니다.

  • 프로세스를 종료합니다.

    이렇게 하려면 다음 레지스트리 값을 사용합니다.

    값 이름 데이터 형식 설명 기본값
    AverageCallThreshold REG_DWORD 적절한 작업이 수행되는 임계값(초)입니다. 0
    DumpType REG_DWORD 0 = 전체 덤프 파일을 생성합니다. 1 = 미니덤프 파일 생성; 2 = 덤프 파일 없음 0
    Terminate REG_DWORD 0 = 프로세스가 계속됩니다. 1 = 프로세스가 종료됩니다. 0
  • 컴퓨터의 모든 COM+ 구성 요소에 대한 작업을 전역적으로 정의하려면 다음 레지스트리 키 아래에 구성 값을 추가합니다.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\AutoDump

  • 전역 설정에 관계없이 특정 COM+ 구성 요소에 대해 수행할 작업을 정의하려면 다음 레지스트리 키 아래에 구성 값을 추가합니다.
    HKEY_CLASSES_ROOT\AppId\{<YourAppID>}\AutoDump\{<YourCLSID>}

권장 사항

다음 콘텐츠에서는 전체 덤프 파일을 검사 분석하는 방법을 보여 있습니다.

전체 덤프 파일 수집

COM+ 구성 요소에서 비정상적으로 높은 호출 시간이 발생하는 경우 전체 덤프 파일을 수집합니다. 예를 들어 다음 단일 레지스트리 값을 만듭니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\AutoDump AverageCallThreshold = 300

특정 환경에 적합한 AverageCallThreshold 레지스트리 값을 선택하는 방법에 대한 자세한 내용은 고려 사항 섹션을 참조하세요.

마찬가지로 COM+ 애플리케이션에서 처리되지 않은 예외가 발생하면 전체 덤프 파일을 수집합니다. 이렇게 하려면 각 COM+ 애플리케이션의 속성에 있는 덤프에서 애플리케이션 오류 검사 이미지 덤프 사용 상자를 검사.

덤프 파일 분석

덤프 파일을 분석하려면 다음 단계를 수행합니다.

  1. 디버그 진단 도구(DebugDiag)를 다운로드하여 설치합니다.

  2. 디버그 진단 도구를 사용하여 다음 단계에 따라 덤프 파일에 대한 분석 보고서를 생성합니다.

    1. 시작 메뉴에서 DebugDiag Analysis 애플리케이션을 실행합니다.
    2. 설정을 선택한 다음 기본 설정 탭을 선택합니다.
    3. 기호 검색 경로 필드의 Microsoft 공용 기호 서버 옵션이 선택되어 있는지 확인한 다음 뒤로를 선택합니다.
    4. 기본 분석 \ CrashHangAnalysis 옵션을 선택합니다.
    5. 데이터 파일 추가를 선택합니다.
    6. 분석할 덤프 파일을 선택합니다.
    7. 분석 시작을 선택합니다.

    결과 HTML 보고서는 바탕 화면의 새 Microsoft 인터넷 Explorer 창에 표시되고 DebugDiag Reports 디렉터리에 저장됩니다. 이 디렉터리의 기본 위치는 %USERPROFILE%\Documents\DebugDiag\Reports입니다.

  3. 문제를 resolve 보고서의 권장 사항 섹션에 제공된 지침을 따릅니다. 보고서의 이 섹션에서는 다음과 같은 사항을 권장할 수 있습니다.

    • 알려진 문제를 설명하는 Microsoft 기술 자료 문서로 안내할 수 있습니다.
    • 애플리케이션 개발자가 수정하는 데 사용할 수 있는 정보를 제공할 수 있습니다.
    • 적절한 공급업체 또는 Microsoft 지원 후속 조치를 제안할 수 있습니다. Microsoft 지원 문의하여 더 많은 도움을 받으려면 보고서 파일을 제공하여 분석 프로세스 속도를 높입니다. 전체 덤프 파일도 필요할 수 있습니다.

고려 사항

다음은 고려해야 할 몇 가지 요소입니다.

AverageCallThreshold 레지스트리 값

300초 값은 대부분의 환경에 적합한 임계값입니다. 이상적인 값은 특정 환경에 따라 달라집니다. 가능한 한 빨리 조치를 취하지만 합법적인 문제가 발생할 때만 수행되도록 하려면 문제가 있는 시나리오에서만 초과할 수 있는 가장 작은 값을 선택합니다.

TerminateProcess 레지스트리 값

호출 시간이 높을 때 프로세스를 종료하면 COM+ 구성 요소가 특정 문제에서 자동으로 복구하는 데 도움이 될 수 있습니다. 이는 고가용성이 중요한 환경에서 바람직합니다. 이 기능을 사용하는 경우 프로세스를 의도치 않게 종료하지 않도록 적절한 AverageCallThreshold 레지스트리 값을 선택합니다.

DumpType 레지스트리 값

미니덤프 파일은 전체 덤프 파일보다 더 빠르게 만들어지고 디스크 공간을 적게 차지할 수 있습니다. 그러나 필요한 데이터가 자주 없기 때문에 문제를 분석하는 데는 유용하지 않습니다. Dllhost.exe 프로세스에 대한 전체 덤프 파일의 일반적인 크기는 10MB(메가바이트)에서 50MB까지 다양합니다. 실제 크기는 덤프된 프로세스의 작업 집합 크기에 따라 달라집니다. 파일은 일반적으로 몇 초 내에 생성됩니다.

덤프 파일 옵션

기본적으로 덤프 파일은 %systemroot%\system32\com\dmp 디렉터리에 저장됩니다. 적절한 COM+ 애플리케이션의 최대 덤프 이미지 수 영역과 이미지 덤프 디렉터리 상자의 설정을 사용하여 위치 및 덤프 파일 수를 제어합니다.

통화 시간

COM+ 구성 요소의 호출 시간은 COM+ 구성 요소의 모든 인스턴스에 대한 실행 평균입니다. 호출 시간은 COM+ 시스템 애플리케이션에 의해 계산되며 구성 요소 서비스 MMC 스냅인의 상태 보기의 통화 시간(ms) 열에 표시됩니다.