답변:
문서를 파고 들고 (여기의 다른 답변을 바탕으로), 이것은 내가 사용한 프로세스입니다.
문제의 ETW 로그를 캡처
가장 쉬운 방법은 Windows Performance Recorder를 사용하는 것 입니다. 언제 처음 등장했는지는 확실하지 않지만 최신 버전의 Windows에 내장 된 것 같습니다. 프로필을로 설정하십시오 CPU usage
.
또는 관리자 권한 명령 프롬프트를 사용하여 해당 명령이 포함 된 폴더로 이동하여 명령 줄 도구 xperf를 사용하십시오.
xperf -on base+interrupt+dpc
Process Monitor 또는 ETW를 사용하는 다른 앱을 닫아야합니다. 그렇지 않으면 다음 오류가 발생합니다. xperf: error: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7).
추적 중지 / 로그 저장
xperf -d interrupt_trace.etl
추적을 엽니 다 Windows Performance Analyzer
(Windows Performance Toolkit의 일부). 일부 장소는 xperfview
대신 사용 을 언급 합니다.
Computation
-> CPU Usage (Sampled)
->을 확장 DPC and ISR Usage by Module, Stack
하고 마우스 오른쪽 버튼을 클릭 한 다음add graph to analysis view
이것은 문제의 운전자에게 옳았다. 이 경우 HDAudBus.sys는 인터럽트를 통해 CPU의 10.82 %를 일정하게 사용하고 있으며, 이는 프로세스 탐색기가 표시 한 것과 정확히 같습니다.
저수준 시스템 도구를 처리 할 수있는 경우
WPA (Windows Performance Analyzer)는 Microsoft Windows 운영 체제 및 응용 프로그램의 심층적 인 성능 프로파일을 생성하는 데 사용되는 성능 모니터링 도구 세트입니다.
xperf 사용법을 배운 후; 체크 아웃;
DPC / ISR 작업은 DPC 및 ISR과 관련된 다양한 메트릭을 요약 한 텍스트 보고서를 생성합니다. 이 조치의 사용법은 다음과 같습니다.
코드 복사 -a dpcisr [-dpc -isr-요약-간격 [n]-버킷 [n]-범위 T1 T2]
선택권
기술
dpc
DPC에 대한 통계 만 표시
ISR
ISR에 대한 통계 만 표시
요약
요약 보고서 표시
간격 [dt]
dt 간격에 대한 사용량 보고서 표시, 기본값은 1 초
버킷 [dt]
dt 간격에 대한 히스토그램 표시, 기본값은 2 초
범위 T1 T2
T1과 T2 사이의 지연 표시
If no data type is specified, default is to show report for both DPC
그리고 ISR. 보고서 유형이 지정되지 않은 경우 기본값은 세 가지 보고서를 모두 인쇄하는 것입니다.
튜토리얼, 스크린 샷 및 관련 도구에 대한 다운로드 링크와 함께이 작업을 수행하는 방법에 대해 찾은 최고의 기사는 다음과 같습니다.
http://www.msfn.org/board/topic/140263-how-to-get-the-cause-of-high-cpu-usage-by-dpc-interrupt/
Windows Process Explorer를 살펴보십시오.
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
도움이 될 것입니다.
LatencyMon 및 DPC Latency Checker 두 가지 훌륭한 도구가 있습니다.