Como posso solucionar problemas com o tempo alto do Kernel?

Respostas:

13

A ferramenta definitiva para descobrir exatamente o que está usando o tempo do kernel é o kernrate.exe. Ele vem com o Windows SDK / WDK Visual Studio, etc.

O Xperf também pode fazer a mesma pesquisa / rastreamento do kernel ... e provavelmente é muito mais fácil de usar. Kernrate era uma espécie de animal.

Ryan Ries
fonte
11

Provavelmente é mais fácil do que você pensa. Se você tiver um uso consistente e alto do sistema, o Process Explorer fornece uma guia Threads que você pode usar para o processo do Sistema (ID do processo: 4). O módulo e a função incorretos devem ser exibidos.

insira a descrição da imagem aqui

Se você precisar de uma ferramenta formal para coletar os dados empíricos para analisar o problema, poderá usar o Windows Performance Recorder / Windows Performance Analyzer, parte do Windows Performance Toolkit.

https://blogs.technet.com/b/yongrhee/archive/2012/11/23/installing-the-windows-performance-toolkit-v5-0-wprui-wpr-xperf.aspx

https://blogs.technet.com/b/yongrhee/archive/2012/11/23/wpr-xperf-capture-high-cpu-disk-io-file-registry-networking-private-bytes-virtual-bytes- pool paginado-nonpaged-pool-and-or-application-slowness.aspx

Greg Askew
fonte
2
Isso pode ser uma vitória fácil, mas muitas vezes o verdadeiro culpado estará escondido atrás de threads de trabalho genéricos; nesse caso, isso não lhe dirá muito. Mesmo Russinovich resorts para Kernrate em seu post aqui: blogs.technet.com/b/markrussinovich/archive/2008/04/07/...
Ryan Ries
6

Eu mesmo tive o problema com os tempos altos do kernel consumindo 50% da CPU, enquanto outros processos representavam os 40% restantes. O problema foi causado por não desativar e desinstalar corretamente o Trend AV.

Embora os serviços tenham sido interrompidos e a verificação em tempo real desabilitada, os mini filtros do kernel pareciam estar habilitados. Deduzi que eles estavam consumindo tempo do kernel depois que instalei o software corretamente e observei que o tempo do kernel foi reduzido para 1/10 da carga anterior.

Para visualizar a lista de filtros em seu sistema, digite

C:\Users\TEMP>fltmc filters
Filter Name                     Num Instances    Altitude    Frame
------------------------------  -------------  ------------  -----
TmPreFilter                             3       328500         0
luafv                                   1       135000         0

A Microsoft tem uma lista de filtros de terceiros disponíveis aqui . De acordo com essa planilha, o TmPreFilter é o Trend Micro, um scanner AV.

goodguys_activate
fonte
5
Estou realmente decepcionado com esta resposta. Após a compilação, eu esperava uma exposição bem elaborada sobre como solucionar problemas de tempo alto do kernel. Em vez disso você ignorar todos os bits interessantes (a fazer) e apresentar-nos com um que você fez anteriormente :( Que medidas você tomou para chegar a essa conclusão sem eles você não está realmente respondendo à pergunta colocada.
user9517
@Iain Haha, obrigado. Meu objetivo aqui era compartilhar as informações que eu conhecia no formato híbrido de blog-wiki do SE (não tenho um blog ou conheço um wiki adequado). Realmente não sei como solucionar o tempo do kernel, mas descobri algo que funcionava e queria compartilhá-lo. Definitivamente, posso responder perguntas sobre email, segurança e algum desenvolvimento. É uma resposta parcial
goodguys_activate 31/03
3
Geat resposta, eu não sabia sobre fltmc.
precisa saber é
-1

Conheça o Process Monitor e o DiskMon (Microsoft SysInternals) para ver o que a máquina está fazendo. Um culpado comum, além dos drivers de dispositivo desonestos, é a boa e antiga paginação.

Simon Catlin
fonte