Wie kann ich Probleme mit hoher Kernelzeit beheben?

Antworten:

13

Das endgültige Tool, um genau herauszufinden, was die Kernelzeit verwendet, ist kernrate.exe. Es wird mit dem Windows SDK / WDK Visual Studio usw. geliefert.

Auch Xperf kann das gleiche Kernel-Polling / Tracing durchführen ... und ist wahrscheinlich viel einfacher zu bedienen. Kernrate war eine Art Tier.

Ryan Ries
quelle
11

Das ist wahrscheinlich einfacher als Sie denken. Wenn Sie eine konsistente, hohe Systemnutzung haben, bietet Process Explorer eine Registerkarte Threads, die Sie für den Systemprozess verwenden können (Prozess-ID: 4). Das fehlerhafte Modul und die fehlerhafte Funktion sollten angezeigt werden.

Geben Sie hier die Bildbeschreibung ein

Wenn Sie ein formales Tool zum Sammeln der empirischen Daten zur Analyse des Problems benötigen, können Sie den Windows Performance Recorder / Windows Performance Analyzer verwenden, der Teil des Windows Performance Toolkit ist.

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- paged-pool-nonpaged-pool-and-or-or-application-slowness.aspx

Greg Askew
quelle
2
Dies könnte ein einfacher Gewinn sein, aber oft versteckt sich der eigentliche Schuldige hinter generischen Arbeiter-Threads. In diesem Fall sagt Ihnen dies nicht viel. Sogar Russinovich greift in seinem Blog-Beitrag hier auf Kernrate zurück
Ryan Ries
6

Ich hatte selbst das Problem, dass hohe Kernelzeiten 50% der CPU beanspruchten, während andere Prozesse die restlichen 40% ausmachten. Das Problem wurde dadurch verursacht, dass Trend AV nicht ordnungsgemäß deaktiviert und deinstalliert wurde.

Obwohl die Dienste gestoppt und der Echtzeit-Scan deaktiviert wurden, schienen die Kernel-Minifilter aktiviert zu sein. Ich folgerte, dass sie Kernelzeit verbrauchten, nachdem ich die Software ordnungsgemäß deinstalliert hatte, und stellte fest, dass sich die Kernelzeit auf 1/10 der vorherigen Last reduzierte.

Geben Sie ein, um die Liste der Filter auf Ihrem System anzuzeigen

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

Microsoft bietet hier eine Liste von Filtern von Drittanbietern an . Laut dieser Tabelle ist TmPreFilter Trend Micro, ein AV-Scanner.

goodguys_activate
quelle
5
Awww Ich bin wirklich enttäuscht von dieser Antwort. Nach dem Aufbau erwartete ich ein wunderschön gestaltetes Expose zur Fehlerbehebung bei hoher Kernelzeit. Stattdessen überspringen Sie alle interessanten Teile (das Wie) und präsentieren uns eines, das Sie zuvor gemacht haben :( Welche Schritte haben Sie unternommen, um zu dieser Schlussfolgerung zu gelangen, ohne sie beantworten Sie die gestellte Frage nicht wirklich.
user9517
@ Iain Haha, danke. Mein Ziel hier war es, die Informationen, die ich kannte, im SE-Hybrid-Blog-Wiki-Format zu teilen (ich habe kein Blog oder kenne kein geeignetes Wiki). Ich weiß wirklich nicht, wie ich die Kernelzeit beheben soll, habe aber etwas entdeckt, das funktioniert hat, und wollte es teilen. Ich kann definitiv Fragen zu E-Mail, Sicherheit und etwas Entwicklung beantworten. Es ist eine teilweise Antwort
goodguys_activate
3
Gute Antwort, ich wusste nichts über fltmc.
Jftuga
-1

Verwenden Sie Process Monitor und DiskMon (Microsoft SysInternals), um zu sehen, was der Computer tut. Ein häufiger Schuldiger, abgesehen von zwielichtigen Gerätetreibern, ist gutes altes Paging.

Simon Catlin
quelle