Come posso risolvere i tempi lunghi del kernel?


Risposte:


13

Lo strumento definitivo per scoprire esattamente cosa sta usando il tempo del kernel è kernrate.exe. Viene fornito con Windows SDK / WDK Visual Studio, ecc.

Anche Xperf può eseguire lo stesso polling / traccia del kernel ... ed è probabilmente molto più facile da usare. Kernrate era una specie di bestia.


11

Questo è probabilmente più facile di quanto pensi. Se si utilizza in modo consistente e elevato il sistema, Process Explorer fornisce una scheda Thread che è possibile utilizzare per il processo di sistema (ID processo: 4). Dovrebbero essere visualizzati il ​​modulo e la funzione incriminati.

inserisci qui la descrizione dell'immagine

Se è necessario uno strumento formale per raccogliere i dati empirici per analizzare il problema, è possibile utilizzare il registratore di prestazioni di Windows / Analizzatore di prestazioni di Windows, parte di 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- paging-piscina-non di paging-piscina-e-o-application-slowness.aspx


2
Questa potrebbe essere una vittoria facile, ma spesso il vero colpevole si nasconderà dietro i thread generici dei lavoratori, nel qual caso questo non ti dirà molto. Anche Russinovich ricorre a Kernrate nel suo post sul blog qui: blogs.technet.com/b/markrussinovich/archive/2008/04/07/…
Ryan Ries

6

Ho avuto il problema da solo con tempi del kernel elevati che consumavano il 50% della CPU, mentre altri processi rappresentavano il restante 40%. Il problema è stato causato dal non disabilitare e disinstallare correttamente Trend AV.

Anche se i servizi sono stati arrestati e la scansione in tempo reale disabilitata, i mini filtri del kernel sembravano essere abilitati. Ho dedotto che stavano consumando il tempo del kernel dopo che avevo disinstallato correttamente il software e ho osservato che il tempo del kernel si riduceva a 1/10 del carico precedente.

Per visualizzare l'elenco dei filtri sul sistema, digitare

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

Microsoft ha un elenco di filtri di terze parti disponibili qui . Secondo quel foglio di calcolo, TmPreFilter è Trend Micro, uno scanner AV.


5
Sono davvero deluso da questa risposta. Dopo l' accumulo mi aspettavo un'esposizione meravigliosamente elaborata su come risolvere i tempi lunghi del kernel. Invece salti tutti i bit interessanti (il come) e ci presenti uno che hai fatto in precedenza :( Quali passi hai preso per arrivare a questa conclusione senza di loro non stai davvero rispondendo alla domanda posta.
user9517

@Iain Haha, grazie. Il mio obiettivo qui era quello di condividere le informazioni che conoscevo nel formato blog-wiki ibrido SE (non ho un blog o non conosco un wiki adatto). Non so davvero come risolvere il tempo del kernel, ma ho scoperto qualcosa che ha funzionato e che volevo condividere. Posso sicuramente rispondere a domande che riguardano l'e-mail, la sicurezza e alcuni sviluppi. È una risposta parziale
goodguys_activate il

3
Ottima risposta, non sapevo di fltmc.
jftuga,

-1

Avere un naso usando Process Monitor e DiskMon (Microsoft SysInternals) per vedere cosa sta facendo la macchina. Un colpevole comune, a parte i driver di dispositivo non sicuri, è il buon vecchio cercapersone.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.