¿Cómo puedo solucionar el alto tiempo de Kernel?

Respuestas:

13

La herramienta definitiva para descubrir exactamente qué está usando el tiempo del kernel es kernrate.exe. Viene con Windows SDK / WDK Visual Studio, etc.

Además, Xperf también puede hacer el mismo sondeo / rastreo del kernel ... y probablemente sea mucho más fácil de usar. Kernrate era una especie de bestia.

Ryan Ries
fuente
11

Esto es probablemente más fácil de lo que piensas. Si tiene un uso constante y elevado del sistema, Process Explorer proporciona una pestaña Subprocesos que puede usar para el proceso del Sistema (id del proceso: 4). Se deben mostrar el módulo y la función infractores.

ingrese la descripción de la imagen aquí

Si necesita una herramienta formal para recopilar datos empíricos para analizar el problema, puede usar el Grabador de rendimiento de Windows / Analizador de rendimiento de Windows, parte del Kit de herramientas de rendimiento de Windows.

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-application-slowness.aspx

Greg Askew
fuente
2
Esto podría ser una victoria fácil, pero a menudo el verdadero culpable se esconderá detrás de los hilos genéricos de los trabajadores, en cuyo caso esto no le dirá mucho. Incluso Russinovich recurre a Kernrate en su blog aquí: blogs.technet.com/b/markrussinovich/archive/2008/04/07/…
Ryan Ries
6

Tuve el problema yo mismo con los altos tiempos de kernel que consumían el 50% de la CPU, mientras que otros procesos representaban el 40% restante. El problema fue causado por no deshabilitar y desinstalar Trend AV correctamente.

Aunque se detuvieron los servicios y se deshabilitó la exploración en tiempo real, los mini filtros del núcleo parecían estar habilitados. Deducí que estaban consumiendo el tiempo del kernel después de que desinstalé el software correctamente y observé que el tiempo del kernel se redujo a 1/10 de la carga anterior.

Para ver la lista de filtros en su sistema, escriba

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

Microsoft tiene una lista de filtros de terceros disponibles aquí . Según esa hoja de cálculo, TmPreFilter es Trend Micro, un escáner AV.

goodguys_activate
fuente
55
Awww estoy realmente decepcionado por esta respuesta. Después de la construcción , esperaba una exposición bellamente elaborada sobre cómo solucionar problemas de tiempo de kernel alto. En su lugar, omite todos los fragmentos interesantes (el cómo) y nos presente uno que hizo anteriormente :( ¿Qué pasos tomó para llegar a esta conclusión sin ellos? Realmente no está respondiendo la pregunta planteada.
user9517
@ Iain Jaja, gracias. Mi objetivo aquí era compartir la información que conocía en el formato híbrido SE blog-wiki (no tengo un blog ni conozco una wiki adecuada). Realmente no sé cómo solucionar el tiempo del kernel, pero descubrí algo que funcionó y quería compartirlo. Definitivamente puedo responder preguntas sobre correo electrónico, seguridad y algo de desarrollo. Es una respuesta parcial
goodguys_activate
3
Geat respuesta, no sabía sobre fltmc.
jftuga
-1

Tenga cuidado con Process Monitor y DiskMon (Microsoft SysInternals) para ver qué está haciendo la máquina. Un culpable común, aparte de los controladores de dispositivos poco fiables, es la buena paginación antigua.

Simon Catlin
fuente