반응형
Windows에서 CPU 사용량이 급증할 때 성능 병목 원인을 찾고 싶다면?
Microsoft의 강력한 성능 분석 도구 xperf 를 이용한 실전 분석 방법을 알아보세요.
🔍 xperf란 무엇인가요?
xperf는 Microsoft에서 제공하는 **Windows Performance Toolkit(WPT)**의 핵심 도구 중 하나로,
ETW(Event Tracing for Windows) 기반의 고성능 트레이스 수집 및 분석 도구입니다.
특히 다음과 같은 상황에서 매우 유용합니다:
- CPU 사용률이 갑자기 높아질 때 원인을 분석하고 싶은 경우
- 앱이나 시스템이 간헐적으로 멈추거나 버벅일 때
- 특정 프로세스가 리소스를 과도하게 사용하는지 확인할 때
xperf는 커널 수준의 이벤트를 추적하여 정밀한 성능 진단이 가능합니다.
⚙️ xperf 설치 방법
xperf는 Windows SDK의 일부인 Windows Performance Toolkit에 포함되어 있습니다.
- 공식 Microsoft 다운로드 링크에서 SDK 설치
- 설치 시 "Windows Performance Toolkit"만 선택해도 충분합니다
- 설치 후 xperf.exe는 다음 경로에 위치합니다:
C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit
🛠️ xperf 기본 사용법
▶️ 트레이스 시작
xperf -on PROC_THREAD+LOADER+PROFILE -stackwalk profile -buffersize 1024 -maxfile 512 -filemode circular
- PROFILE: CPU 샘플링
- PROC_THREAD: 프로세스/스레드 이벤트
- LOADER: 모듈 로드 이벤트
- stackwalk profile: 스택 트레이스를 수집하여 병목 함수 파악 가능
⏹️ 트레이스 종료
xperf -d trace.etl
trace.etl 파일을 저장한 후, 시각화 도구에서 분석 가능
📊 분석 도구: Windows Performance Analyzer (WPA)
xperf로 수집한 .etl 파일은 **WPA (Windows Performance Analyzer)**를 통해 분석합니다.
WPA에서 확인 가능한 주요 뷰:
- CPU Usage (Precise): 시간대별 프로세스/스레드 CPU 사용량
- CPU Sampling by Process/Module: 어떤 함수/모듈이 CPU를 사용했는지 확인
- Thread Wait Analysis: 락 또는 대기 시간 분석
병목이 발생한 시점을 타임라인에서 직관적으로 분석할 수 있습니다.
❗ 자주 발생하는 오류 해결
오류: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7)
이미 커널 트레이스 세션이 실행 중일 경우 발생합니다.
🔧 해결 방법:
xperf -stop
logman stop "NT Kernel Logger" -ets
위 명령어로 기존 세션을 종료하고 다시 실행하면 됩니다.
💡 실전 팁: CPU 70% 이상일 때 자동으로 xperf 실행하기
PowerShell 스크립트를 이용해 CPU 사용률이 일정 기준을 넘으면 자동으로 트레이스 수집이 가능합니다.
2025.03.25 - [Tech/Windows] - CPU 70% 이상일 때 자동으로 xperf 실행하기
반응형
'Tech > Windows' 카테고리의 다른 글
CPU 70% 이상일 때 자동으로 xperf 실행하기 (0) | 2025.03.25 |
---|