본문 바로가기

Operation System

MTS 또는 COM+(Dllhost.exe) 프로세스의 높은 CPU 사용률 문제 해결

HOWTO: MTS 또는 COM+(Dllhost.exe) 프로세스의 높은 CPU 사용률 문제 해결 MS Windows

2004/05/17 11:42

복사 http://blog.naver.com/nayo5908/100002523375

요약

이 문서는 Microsoft Transaction Server(Mtx.exe) 또는 COM+(Dllhost.exe) 프로세스가 성능 모니터에서 높은 CPU 사용률을 표시하고 CPU 사용률이 100%로 높아지면 프로세스 덤프와 성능 모니터 로그를 캡처하고 프로세스 덤프와 비교하여 문제를 찾아내는 데 도움을 줄 수 있습니다. 덤프를 분석하려면 Microsoft 지원 담당자에게 연락하거나 WinDbg 도구를 사용할 수 있습니다(자세한 내용은 "참조" 절 참조).

추가 정보

프로세스 덤프와 성능 모니터 로그를 캡처하려면 다음 단계를 수행하십시오.
  1. 시작 메뉴에서 프로그램, 관리 도구를 가리킨 다음 시스템 성능 모니터를 누릅니다.
  2. 도구 모음에서 (+) 단추를 누릅니다. 차트에 추가 대화 상자에서 다음 항목을 선택합니다.

    개체 = Process
    카운터 = % Processor Time
    카운터 = ID Process

  3. 인스턴스 목록에서 해당 시스템의 모든 프로세스를 선택하고 추가, 완료를 차례로 누릅니다.
  4. 대부분의 CPU를 소모하는 프로세스를 선택하려면 Microsoft Windows NT 4를 실행하는 컴퓨터에서는 백스페이스 키를 한 번 누릅니다. Microsoft Windows 2000 기반 컴퓨터의 도구 모음에서는 하이라이트 단추를 누릅니다. 선택한 카운터가 그래프에 흰색으로 나타납니다.
  5. 화살표 키를 사용하여 대부분의 CPU를 소모하는 프로세스를 찾습니다. 프로세스 이름과 프로세스 ID를 적어 둡니다.
  6. Delete 키를 눌러 차트에서 관련 없는 다른 카운터를 제거합니다.
  7. 성능 모니터 도구 모음에서 카운터 추가(+) 단추를 누릅니다. 차트에 추가 대화 상자에서 다음 항목을 선택합니다.

    개체 = Thread
    카운터 = % Processor Time

  8. 인스턴스 목록에서 적어 둔 프로세스 인스턴스(Windows NT 4에서는 MTX.exe, Windows 2000에서는 Dllhost.exe)에 대해 해당하는 모든 스레드를 누르고 추가를 누른 다음 완료를 누릅니다.

    다음과 같은 모습이 됩니다.
     - dllhost/0 - dllhost/0#1 - dllhost/1 - dllhost/1#1 ...
    '/' 다음의 숫자는 스레드 번호입니다. '#' 다음의 숫자는 프로세스 인스턴스 번호입니다(둘 이상의 dllhost를 가질 수 있음). 찾고 있는 스레드의 프로세스 번호는 5단계에서 본 것과 같아야 합니다.
  9. 화살표 키를 사용하여 대부분의 CPU를 소모하는 스레드를 찾고 해당 인스턴스를 적어 둡니다.
  10. 시스템 성능 모니터 도구 모음에서 카운터 추가(+) 단추를 누릅니다. 차트에 추가 대화 상자에서 다음 항목을 선택합니다.

    개체 = Thread
    카운터 = ID Thread
    인스턴스 = 앞 단계에서 적어 둔 스레드의 인스턴스

  11. 추가를 누른 다음 완료를 누릅니다.
  12. 마지막에 있는 ID 스레드를 적어 두고 시스템 성능 모니터를 종료합니다.
  13. 시스템에 UserDump를 설치합니다.
  14. 명령 프롬프트에서 다음 명령을 입력하여 폴더를 Userdump 폴더로 변경합니다.

    userdump [적어 둔 process ID]

Microsoft 지원 담당자에게 문의해야 하는 경우 Userdump를 압축하고 정렬하여 다음 정보와 함께 보냅니다.
  • Windows NT 서비스 팩
  • Microsoft Data Access Components(MDAC) 버전(해당되는 경우)
  • Microsoft Distributed Transaction Coordinator(MS DTC) 버전
  • 높은 CPU 사용률 스레드 ID
  • SQL 버전 및 서비스 팩(해당되는 경우)
  • Oracle 버전, 클라이언트 버전 및 Net Library 버전(해당되는 경우)
  • 현재 사용되는 추가 패치 또는 핫픽스
  • 사용자 지정 또는 다른 공급업체 구성 요소의 기호 파일(해당되는 경우)

참조

자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.

250509 XADM: Userdump.exe를 사용하여 정보 저장소 상태를 캡처하는 방법

281630 HOWTO: IIS, MTS 또는 COM+에서 실행하도록 Visual Basic DLL 프로젝트 속성을 구성하는 방법