Como faço para analisar o uso excessivo da CPU no modo kernel do Windows?

8

Minha máquina com Windows XP começou recentemente a semi congelar em mim a cada reinicialização ímpar após alguns minutos de uso (programas diferentes / nenhum start prg adicional em tudo).

Atualização: agora consegui obter um pouco mais de detalhes com o Process Explorer. Esta é uma CPU de 2 núcleos e o uso de 100% do kernel é apenas em um núcleo. A lista de processos mostra DPCs - Chamadas de Procedimento Adiadas em 50% (100% em um núcleo). Então a questão é agora: ** O que é o DPC e como corrigi-los ??

Próxima atualização : OKIES ... usando isso e que Eu consegui executar o xperf no meu Windows XP, e os despejos de amostras que eu tirei muito bem no meu laptop Win7. Sim, você precisa de um computador Win7 / Vista para visualizar os despejos feitos no Windows XP. No entanto , eu sou agora enfrentando o seguinte problema, posso habilitar o rastreamento xperf , xperf -on Latency e o problema agora também voltou a ocorrer enquanto o rastreamento xperf estava ativado, mas assim que meu DPC atinge 100%, o Windows não inicie qualquer novo processo (ou a sua inicialização nunca termina) (por exemplo, uma janela aberta em cmd permanece responsiva muito bem, mas cada exe que você tentar também chama simplesmente trava) ( dir funciona apenas bem, porque isso um comando cmd) - só posso supor que CreateProcess trava com alguma parte do kernel). Agora, não poder lançar nenhum novo processo significa que não posso executar xperf -d dumpfile.etl , porque , quando eu insiro isso na janela cmd, ele simplesmente trava .

Então parece que estou sem sorte aqui. Eu preferiria jogar fora todo o equipamento do que começar a desabilitar manualmente os drivers ...: -)

Quaisquer outras ideias apreciadas!

Ou seja, embora o Windows permanecesse responsivo teoricamente (por exemplo, o Cursor do Mouse foi movido normalmente e eu consegui clicar e o clique foi reconhecido), as ações executadas pelo usuário só foram respondidas depois de minutos (literalmente).

Exemplo: Acertar a tecla Num-lock no teclado normalmente alterna o LED Num-lock no teclado. Este também é o caso da minha máquina semi-congelada, mas só depois de um minuto ou dois.

Uma vez, consegui iniciar o Process Explorer e, após alguns minutos, as informações do sistema gráfico indicou claramente 100% de uso da CPU na linha vermelha (modo kernel) e a linha verde permaneceu no zero. Nesse estado, embora o gráfico ainda estivesse atualizado na tela, a máquina não podia mais ser operada. (Bem, a menos que você esteja disposto a esperar por alguns minutos após cada clique.)

Então, agora eu estou querendo saber qual poderia ser o problema, já que eu não instalei nada de novo nesta máquina por semanas, certamente não antes de ver esse comportamento. (A reinicialização ajuda, às vezes, em algum momento, eu preciso de uma segunda ou terceira reinicialização antes que a máquina se torne utilizável por um longo período de tempo.)

Agora, como posso descobrir o que está realmente causando o uso excessivo do modo kernel?

Observação: também postou isso nos fóruns do sysinternals .

    
por Martin 07.11.2011 / 14:55

1 resposta

2

Você pode descobrir qual rotina DPC está causando os congelamentos usando uma ferramenta como LatencyMon ( link ). Simplesmente procure a rotina do DPC levando o maior tempo total.

    
por 05.02.2014 / 17:11