Ocasionalmente, encontro servidores (Windows 2003 e 2008) com alto% de tempo de interrupção do processador. Existe uma maneira de ver qual programa ou dispositivo está causando as interrupções?
fonte
Ocasionalmente, encontro servidores (Windows 2003 e 2008) com alto% de tempo de interrupção do processador. Existe uma maneira de ver qual programa ou dispositivo está causando as interrupções?
Depois de pesquisar na documentação (com base nas outras respostas aqui), esse é o processo que acabei usando:
Capturar o log ETW do problema
A maneira mais fácil de fazer isso é usando o Windows Performance Recorder . Não tenho certeza de quando ele apareceu pela primeira vez, mas parece estar embutido nas versões recentes do Windows. Defina o perfil para CPU usage
.
ou, usando um prompt de comando elevado, navegue até a pasta que o contém e use a ferramenta de linha de comando xperf:
xperf -on base+interrupt+dpc
Observe que você precisará fechar o Process Monitor ou qualquer outro aplicativo que use ETW ou obterá o seguinte erro: xperf: error: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7).
Parar rastreamento / salvar o log
xperf -d interrupt_trace.etl
Abra o rastreamento em Windows Performance Analyzer
(parte do Windows Performance Toolkit); alguns lugares mencionam o uso xperfview
.
Expanda Computation
-> CPU Usage (Sampled)
-> DPC and ISR Usage by Module, Stack
, clique com o botão direito eadd graph to analysis view
Isso apontou diretamente para o motorista em questão. Nesse caso, o HDAudBus.sys está usando uma constante de 10,82% da minha CPU através de interrupções, que é exatamente o que o Process Explorer estava me mostrando.
Se você pode lidar com ferramentas de sistema de baixo nível;
Depois de aprender a usar o xperf; Confira;
fonte
Aqui está o melhor artigo que encontrei sobre como fazer isso, com tutoriais, capturas de tela e links para download das ferramentas relevantes:
http://www.msfn.org/board/topic/140263-how-to-get-the-cause-of-high-cpu-usage-by-dpc-interrupt/
fonte
Dê uma olhada no Windows Process Explorer:
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
Isso deve ajudar.
fonte
Duas ótimas ferramentas são o LatencyMon e o DPC Latency Checker .
fonte