다음을 통해 공유


WPR 및 WPA를 사용하여 프로세스 및 스레드 문제 해결

이 문서에서는 WPR(Windows Performance Recorder) 및 WPA(Windows 성능 분석기)의 기능에 대해 설명하고 문제를 해결할 때 이러한 기능을 적용하는 방법의 예를 제공합니다.

적용 대상: 지원되는 모든 버전의 Windows Server 및 Windows 클라이언트

요약

WPR 및 WPA는 Windows 운영 체제 및 애플리케이션의 심층적인 성능 프로필을 생성하는 성능 모니터링 도구입니다. Windows에는 WPR의 명령줄 버전이 포함되어 있습니다. WPA 및 WPR의 GUI 버전(이 문서의 예제에 표시됨)을 얻으려면 WADK(Windows 평가 및 배포 키트)를 다운로드하여 설치합니다.

참고 항목

이전 명령줄 도구인 Xperf는 여전히 데이터 수집을 지원하며 WADK에 포함되어 있습니다. 그러나 Xperfview는 더 이상 지원되지 않습니다. WPA를 사용하여 Xperf 녹음/녹화를 봅니다.

Xperf를 사용하는 방법에 대한 자세한 내용은 Xperf 명령줄 참조를 참조 하세요.

필수 조건

WPT 도구를 실행하려면 시스템에서 다음 요구 사항을 충족해야 합니다.

  • WPR: Windows 8 이상.
  • WPA: Microsoft .NET Framework 4.5 이상을 사용하는 Windows 8 이상.

WPR을 사용하여 데이터 기록

WPR은 시스템 및 애플리케이션 동작 및 리소스 사용량에 대한 ETW(Windows용 이벤트 추적) 기록을 만드는 강력한 기록 도구입니다. WPR은 기록할 이벤트를 선택하는 데 사용할 수 있는 기본 제공 프로필을 제공합니다. 또는 XML에서 사용자 지정 프로필을 작성할 수 있습니다. 자세한 정보는 다음 설명서를 참조하세요.

항목 링크
기본 절차의 빠른 시작 WPR 방법 항목
기본 제공 기록 프로필에 대한 설명 기본 제공 기록 프로필
WPR 사용자 인터페이스의 전체 설명서 WPR 기능
명령줄 옵션 참조 WPR 명령줄 옵션
주요 시나리오에 대한 논의 WPR 시나리오
성능 시나리오
로깅 모드에 대한 설명(메모리 모드 또는 파일 모드) 로깅 모드
로깅 모드 변경
기록 프로필 XML 참조 및 레거시 Xperf 참조를 포함한 전체 참조 자료 WPR 기술 참조

사용자 인터페이스(WPRUI.exe) 또는 명령줄(WPR.exe)에서 WPR을 실행할 수 있습니다. WPR UI를 사용하면 기본 제공 기록 프로필을 사용하여 CPU 사용량, 전원 문제, 시스템 또는 애플리케이션 성능 저하 및 기타 성능 문제를 분석하여 기록을 간단하게 생성할 수 있습니다. WPRUI.exe WADK에서 사용할 수 있습니다. WPR.exe Windows 운영 체제(Windows 8.1 이상 버전)와 함께 제공됩니다. 추가 설치가 필요하지 않습니다.

녹음/녹화를 시작하려면 다음 단계를 수행합니다.

  1. 시작을 선택하고 Windows 성능 레코더를 입력한 다음 검색 결과에서 Windows 성능 레코더를 선택합니다.

  2. 다음 중 하나를 수행합니다.

    • 기본(첫 번째 수준 심사) 프로필을 사용하는 동안 기록하려면 시작을 선택합니다.

      W.P.R의 압축된 보기를 보여 주는 스크린샷

    • 다른 프로필을 선택하거나 다른 옵션을 설정하려면 추가 옵션을 선택합니다. 원하는 옵션을 선택한 다음 시작을 선택합니다.

      W.P.R의 확장된 보기를 보여 주는 스크린샷

기록을 중지하려면 다음 단계를 수행합니다.

  1. WPR에서 저장을 선택합니다.
  2. 기록 파일을 저장할 위치를 찾습니다.
  3. 기록을 만든 문제에 대한 설명을 입력합니다.
  4. 저장을 선택한 다음 WPA에서 열기 또는 확인을 선택합니다.

WPA를 사용하여 데이터 분석

WPA는 광범위한 그래프 기능과 피벗할 수 있고 전체 텍스트 검색 기능이 있는 데이터 테이블과 유연한 UI를 결합하는 강력한 분석 도구입니다. WPA는 식별된 문제의 근본 원인을 탐색하는 문제 창을 제공합니다. 자세한 정보는 다음 설명서를 참조하세요.

항목 링크
기본 절차 및 자세한 연습 WPA 빠른 시작 가이드
WPA UI의 전체 설명서 WPA 기능
주요 시나리오에 대한 확장 토론 WPA 시나리오

WPA를 열려면 시작을 선택하고 Windows 성능 분석기 입력한 다음 검색 결과에서 Windows 성능 분석기 선택합니다.

기록을 저장한 후 WPR에서 WPA를 직접 열지 않은 경우 WPA 파일 메뉴를 사용하여 추적 파일을 열 수 있습니다.

분석 탭의 테이블 및 그래프를 보여 주는 W.P.A.를 보여 주는 스크린샷

참고 항목

분석을 위해 기호를 로드하려면 추적을 선택한 다음 기호 로드를 선택합니다. 자세한 내용은 기호 로드 또는 기호 경로 구성을 참조 하세요.

WPA UI(사용자 인터페이스)에는 중앙 작업 영역을 둘러싸는 도킹된 창이 포함됩니다. 이 작업 영역에는 분석 탭이 포함되어 있습니다. 모든 창은 다른 위치에 도킹할 수 있습니다. 닫힌 창을 열려면 메뉴에서 창을 선택합니다. WPA는 다음 창과 탭을 사용합니다.

창 또는 탭 설명
그래프 탐색기 현재 기록에 적용되는 모든 그래프의 썸네일을 포함합니다. 그래프는 범주로 그룹화됩니다. 범주를 확장하려면 썸네일의 왼쪽 위 모서리에 있는 삼각형을 선택합니다. 자세한 내용은 Graph 탐색기를 참조하세요.
분석 추적 기록에 대한 자세한 정보 및 범례를 표시합니다. 그래프 탐색기에서 분석 탭으로 그래프를 끌 수 있습니다 . 탭은 그래프 및 피벗 테이블 형식으로 정보를 표시합니다. 테이블에서 세로 금색 막대는 키와 데이터를 구분합니다. 세로 파란색 막대는 피벗 테이블 데이터를 그래프 요소와 구분합니다. 자세한 내용은 분석 탭을 참조하세요.
분석 도우미 현재 선택한 그래프 및 테이블에 대한 정보를 표시합니다. 자세한 내용은 분석 도우미를 참조하세요.
문제 평가 플랫폼 기록에 사용할 수 있으며 평가에서 식별하는 문제를 나열합니다. 자세한 내용은 문제 창을 참조하세요.
세부 정보 평가 플랫폼 기록에 사용할 수 있으며 선택한 문제에 대한 세부 정보 및 권장 솔루션을 나열합니다. 자세한 내용은 세부 정보 창을 참조하세요.
진단 콘솔 기록의 예외 목록과 기호 로드 및 디코딩과 관련된 세부 정보를 제공합니다. 자세한 내용은 진단 콘솔 창을 참조하세요.

예제

다음 표에서는 몇 가지 문제 시나리오, 데이터를 기록하는 데 사용할 수 있는 WPR 프로필, 제안된 그래프 및 피벗 테이블 필드를 설명하여 데이터를 분석합니다.

시나리오 WPR 프로필 분석할 그래프 및 매개 변수
높은 CPU 사용량 기본 프로필(첫 번째 수준 심사) 및/또는 CPU 사용량 계산 > CPU 사용량(샘플링)
키 옵션:
  • 프로세스>스택 (프로세스별 작업 나열, 해당 프로세스의 모든 스레드별 작업 나열)
  • 프로세스>스레드 ID>스택 (각 스레드의 프로세스별 작업 나열)
  • 프로세스 이름>스택 (지정된 이름과 연결된 모든 프로세스의 모든 스레드별 작업 나열
데이터: 개수(정렬 기준)
가상 할당 누수 VirtualAlloc 사용량 Memory > VirtualAlloc Commit LifeTimes
키: 형식, 프로세스, 스택
데이터: 개수(정렬 기준), 영향 크기(MB)
풀 누수 풀 사용량 메모리 > 풀
키: 형식, 페이징, 풀 태그, 스택
데이터: 개수(합계), 영향 크기(MB)
핸들 누수 핸들 사용량 메모리 > 핸들
키: 프로세스 만들기, 핸들 형식, 스택 만들기
데이터: 개체 이름, 개체, 핸들
그래프 요소(파란색 막대 오른쪽): Count
힙 누수 힙 사용량
추적 플래그*
메모리 > 힙 할당
키: 형식, 프로세스, 스택
데이터: 개수, 영향을 주는 크기(B) 합계
대기 분석 기본 프로필(첫 번째 수준 심사) 또는 CPU 사용량 계산 > CPU 사용량(정밀)
키: 새 프로세스, 새 스레드, 새 스택, 준비 프로세스, 스레드 준비, 스택 준비
데이터: Wait(Max), Wait(Sum), Count(Waits)

* 추적 플래그를 설정하려면 관리 명령 프롬프트 창을 열고 다음 명령을 실행합니다.

reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<Process_Name>" /v TracingFlags /t REG_DWORD /d 1 /f
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\VirtMemTest64.exe" /v TracingFlags /t REG_DWORD /d 1 /f

참고 항목

첫 번째 명령 <에서 Process_Name> 분석하려는 서비스 또는 프로세스의 이름을 나타냅니다.

명령을 실행한 후 서비스 또는 프로세스를 다시 시작합니다.