Depois de vasculhar a documentação (com base nas outras respostas aqui), este é o processo que acabei usando:
-
Capture o registro ETW do problema
A maneira mais fácil de fazer isso é usar o Gravador de desempenho do Windows . Eu não tenho certeza quando apareceu pela primeira vez, mas parece ser construído em versões recentes do Windows. Defina o perfil para
CPU usage
.ou,usandoumpromptdecomandoelevado,navegueatéapastaqueocontémeuseaferramentadelinhadecomandoxperf:
xperf-onbase+interrupt+dpc
NotequevocêprecisaráfecharoProcessMonitorouqualqueroutroaplicativoqueuseoETWouvocêreceberáoseguinteerro:
xperf:error:NTKernelLogger:Cannotcreateafilewhenthatfilealreadyexists.(0xb7).
Pararderastrear/salvarolog
xperf-dinterrupt_trace.etl
Abraorastreioem
WindowsPerformanceAnalyzer
(partedoWindowsPerformanceToolkit);algunslugaresmencionamousodexperfview
.Expandir
Computation
->CPUUsage(Sampled)
->DPCandISRUsagebyModule,Stack
,cliquecomobotãodireitoeaddgraphtoanalysisview
-
Isso apontou diretamente para o motorista em questão. Neste caso, o HDAudBus.sys está usando uma constante de 10,82% da minha cpu via interrupções, que é exatamente o que o Process Explorer estava me mostrando.