En una de las computadoras con Windows 10 recién instalado, un usuario comenzó a quejarse de que el sistema operativo se cuelga constantemente y funciona lento. El Administrador de tareas muestra que aproximadamente el 50% de los recursos de la CPU son utilizados por Sistema (ntoskrnl.exe) proceso. En este artículo, intentaré describir los principales métodos de diagnóstico de la alta utilización de la CPU por diferentes procesos y formas de descubrir el problema del componente de Windows o del controlador del sistema.
La situación en la que el proceso del sistema consume más de la mitad de los recursos de la CPU del sistema no es normal. Ntoskrnl.exe es el ejecutable del kernel del sistema operativo. Es el proceso central del sistema. El kernel del sistema operativo ejecuta los controladores del sistema de los dispositivos, que probablemente sean la fuente del problema (no todos los controladores son probados adecuadamente por los desarrolladores de hardware).
Como regla general, el problema de la fuga en el código del controlador y el alto uso de la CPU, la memoria o los recursos del disco aparece después de la instalación de un nuevo hardware, una nueva versión del controlador (incluidas las actualizaciones automáticas del controlador, que se pueden desactivar) o después de la actualización de Windows.
Para comprender qué controlador o módulo causa una alta utilización de la CPU, puede usar una herramienta gratuita Explorador de procesos. Descárgalo y ejecútalo como administrador.
Encontrar Sistema en la lista de procesos en ejecución, haga clic con el botón derecho y abra su Propiedades.
Ve a la Hilos pestaña. Ordene la lista de módulos cargados por el kernel por la tasa de uso de la CPU (columna CPU). En Dirección de inicio columna, se muestra el nombre de un componente o un controlador, lo que causa una carga alta (la captura de pantalla a continuación no es del sistema problemático, en mi caso fue el proceso ntoskrnl.exe).
Para encontrar un controlador que cause una alta carga de CPU, también puede usar una herramienta gratuita de Microsoft kernrate.exe (Visor de Kernrate). La herramienta es parte de WDK (Kit de dispositivo de Windows). Después de la instalación de WDK, puede encontrar la herramienta en la carpeta… Tools Other amd64.
Correr kernrate.exe sin parámetros y espere hasta que se recopilen los datos (10-15 minutos), luego finalice la herramienta presionando Ctrl-C. Mire la lista de módulos en Resultado para el modo kernel sección.
Como puede ver, en nuestro ejemplo b57nd60x El módulo está provocando un uso elevado de la CPU. Usando Google o Sigcheck herramienta (vea el ejemplo de uso de la Sigcheck para detectar los archivos del controlador relacionados con el módulo), puede detectar que el problema es causado por el controlador Broadcom NetXtream Gigabit Ethernet NDIS6.0.
También puede analizar el uso de la CPU durante el arranque del sistema utilizando Windows Performance Toolkit (WPT). Debe instalar el WPT y ejecutar la recopilación de datos en el Grabador de rendimiento de Windows (Triángulo de primer nivel + uso de CPU -> Inicio) consola gráfica.
O puedes empezar recopilar datos para su análisis mediante el comando :
xperf -on latency -stackwalk profile -buffersize 1024 -MaxFile 256 -FileMode Circular && timeout -1 && xperf -d cpuusage.etl
Debe guardar el archivo y abrirlo en Windows Performance Analyzer (WPA). Expanda la pila de procesos del sistema. En este ejemplo, puede ver que athrx.sys El controlador (Adaptador de red inalámbrico Atheros) provoca una alta carga de CPU.
Entonces, se detecta el controlador problemático. ¿Que sigue?
Para resolver el problema, instale la versión del controlador posterior (o anterior), o deshabilite (desconecte) por completo el hardware si el problema persiste con cualquier versión del controlador. El controlador actualizado se puede probar adicionalmente con el Verificador de controladores.
Artículos Interesantes
Relacionados:
Contenido