Para diagnosticar los problemas de uso de la CPU, debe usar el Rastreo de eventos para Windows (ETW) para capturar datos / perfil de muestreo de la CPU.
Para capturar los datos, instale el Kit de herramientas de rendimiento de Windows , que forma parte del SDK de Windows .
El Windows 10 WPT se puede usar en Windows 8 / Server 2012, Windows 8.1 / Server 2012R2 y Windows 10 / Server 2016. Si todavía usa Windows 7, use el SDK / WPT con Build 15086 .
(todas las demás entradas pueden estar sin seleccionar)
Ahora ejecute WPRUI.exe
, seleccione First Level
, en Recurso, seleccione Uso de CPU y haga clic en iniciar .
Ahora capture 1 minuto del uso de la CPU. Después de 1 minuto, haga clic en Guardar .
Ahora analice el archivo ETL generado con Windows Performance Analyzer arrastrando y soltando el CPU Usage (sampled)
gráfico analysis pane
y ordenando las columnas como se ve en la imagen:
Dentro de WPA, cargue los símbolos de depuración y expanda la Pila del proceso del SISTEMA. En esta demostración, el uso de la CPU proviene del controlador nVIDIA.
En la siguiente demostración, el uso de la CPU proviene del controlador Realtek NIC:
Cuando vea llamadas como ntoskrnl.exe! Vi KeTrimWorkerThreadRoutine, ntoskrnl.exe! Mm Verifier TrimMemory, ntoskrnl.exe! Verifier KeLeaveCriticalRegion , esto significa que tiene Driver Verifier habilitado. Esto también perjudica mucho el rendimiento y provoca un alto uso del SISTEMA. Deshabilite Driver Verifier y reinicie.
En esta demostración, el controlador iai2ce.sys
( controlador Intel Serial IO GPIO Controller) lo causa:
En este ejemplo, el uso de la CPU proviene del archivo rtsuvc.sys
que parece ser elRealtek UVC webcam Driver
Esta demostración muestra que el controlador de Bitdefender ignis.sys
En el siguiente ejemplo, el uso de la CPU es ocasionado por el controlador de red broadcom bcmwl664.sys
Cuando ves ntoskrnl.exe!MiZeroWorkerPages
como causa, es más complicado. Esto significa que la función del kernel que pone a cero la memoria antes de que pueda volver a usarse causa el uso elevado de la CPU:
No hay una forma real de detectar qué proceso lo causa, pero sé que Chrome puede causarlo si tiene habilitada la aceleración de hardware en Chrome. Entonces, si ve esto y usa Chrome, desactive la aceleración de hardware en Chrome.
Cuando vea esos ntoskrnl.exe! RtlpGenericRandomPatternWorker, NTOSKRNL.EXE! RtlpTestMemoryRandomUp llamadas
el uso de la CPU proviene del kernel para probar la memoria en busca de problemas (memtest). Este uso se activa mediante la tarea de mantenimiento inactivo de Windows 8.1 / 10. Puede usar el Programador de tareas para deshabilitar la tarea inactiva.
En Windows 10, la tarea se llama RunFullMemoryDiagnostics en Microsoft> Windows> MemoryDiagnostic> RunFullMemoryDiagnostic .
En este caso, el uso de la CPU parece provenir de la Data Deduplication
función ( dedup.sys!DdpPostCreate
) de Windows Server:
En esta demostración, el uso de la CPU es causado por el controlador de la tarjeta WIFI athrx.sys
Busque una actualización de controlador si ve esto.
En la siguiente demostración, está involucrado un controlador citrix:
Comuníquese con su departamento de TI para obtener información sobre cómo resolver problemas de Citrix.
En esta demostración, la función usbhub.sys!UsbhPortRecycle
causa el uso de la CPU:
Cambiar los puertos USB2.0 a la velocidad 1.1 o conectar unidades USB a otros puertos USB 2.0 ayudó a algunos usuarios.
En este caso, una pequeña cantidad de uso del SISTEMA proviene del controlador Acronis tdrpm251.sys
:
En esta demostración, el uso de CPU ntoskrnl.exe!KeAcquireSpinLockRaiseToDpc
y ntoskrnl.exe!KeReleaseSpinLock
.
entonces un controlador está usando SpinLocks muy fuertemente. Deshabilite algunos dispositivos / controladores hasta que vea uno que lo causa.
En este caso, el uso de la CPU es causado por el controlador L1C62x64.sys
Este es el qualcomm atheros AR8171/8175 PCI-E gigabit Ethernet
conductor. Así que actualice el controlador si lo ve en la pila.
Aquí, el uso de la CPU proviene de escanear el archivo host (netbt.sys! DelayedScanLmHostFile)
asegúrese de que su archivo de hosts no sea demasiado grande para evitar este uso.
En este caso, el uso de la CPU proviene SRTSP64.SYS
de Symantec.
Actualice su producto Symantec usado a la última versión.
Aquí, el uso de CPU proviene del controlador AMD GPU (atikmdag.sys)
Si ve esto, vaya al sitio de AMD y obtenga el controlador más reciente para su tarjeta AMD.
Aquí, los controladores TMXPFlt.sys y VsapiNt.sys causan el uso elevado de la CPU.
Por lo que veo, esos archivos son parte de la suite Trend Micro AV. Actualice la herramienta o elimínela.
En este ejemplo, el uso de la CPU proviene de la función ntoskrnl.exe!MmGetPageFileInformation
Esta función obtiene información sobre el archivo de paginación.
Descripción de rutina: esta rutina devuelve información sobre los archivos de paginación actualmente activos.
Deshabilite el archivo de paginación, reinicie y habilítelo nuevamente y vea si esto lo soluciona. Además, la eliminación de los servicios de Intel (por ejemplo, el servicio Intel Content Protection HECI) parece solucionarlo para un usuario .
Aquí, puede ver que el controlador Netwtw04.sys
( controlador Intel Wifi) llama a la función flushCompleteAllPendingFlushRequests
y esto provoca un uso elevado de la CPU.
Debido a que los símbolos de depuración se cargan, se utiliza el controlador de la bandeja de entrada de Windows. Solo aquí podemos obtener símbolos de depuración para ver la pila de llamadas con el nombre de la función flushCompleteAllPendingFlushRequests
.
Aquí, debe instalar el controlador más reciente de Intel para solucionarlo.
El caso más complicado de uso del SISTEMA es el uso de ACPI.sys en la pila de llamadas:
Line #, DPC/ISR, Module, Stack, Count, Process, Weight (in view) (ms), TimeStamp (s), % Weight
6, , , | |- ACPI.sys!ACPIWorkerThread, 40246, , 39.992,941063, , 4,13
7, , , | | ACPI.sys!RestartCtxtPassive, 40246, , 39.992,941063, , 4,13
8, , , | | ACPI.sys!InsertReadyQueue, 40246, , 39.992,941063, , 4,13
9, , , | | ACPI.sys!RunContext, 40246, , 39.992,941063, , 4,13
10, , , | | ntoskrnl.exe!KeReleaseSpinLock, 40246, , 39.992,941063, , 4,13
11, , , | | ntoskrnl.exe!KiDpcInterrupt, 40246, , 39.992,941063, , 4,13
12, , , | | ntoskrnl.exe!KiDispatchInterruptContinue, 40246, , 39.992,941063, , 4,13
13, , , | | ntoskrnl.exe!KxRetireDpcList, 40246, , 39.992,941063, , 4,13
14, , , | | ntoskrnl.exe!KiRetireDpcList, 40246, , 39.992,941063, , 4,13
15, , , | | |- ntoskrnl.exe!KiExecuteAllDpcs, 40198, , 39.945,173325, , 4,13
16, , , | | | |- ACPI.sys!ACPIInterruptDispatchEventDpc, 27565, , 27.408,930428, , 2,83
17, , , | | | | |- ACPI.sys!ACPIGpeEnableDisableEvents, 24525, , 24.384,921620, , 2,52
18, , , | | | | | ACPI.sys!ACPIWriteGpeEnableRegister, 24525, , 24.384,921620, , 2,52
19, , , | | | | | |- hal.dll!HalpAcpiPmRegisterWrite, 24421, , 24.281,015516, , 2,51
20, , , | | | | | | |- hal.dll!HalpAcpiPmRegisterWritePort, 24166, , 24.027,316013, , 2,48
Esto es extremadamente difícil de depurar. En un tema de sysinternals , enumeré algunos consejos:
- asegúrese de que la CPU no se sobrecaliente debido al polvo en el ventilador de la CPU
- actualizar o volver a flashear el (mismo) BIOS / UEFI
- cargar la configuración predeterminada de BIOS / UEFI
- asegúrese de que la batería no esté dañada, retire la batería del portátil o desactívela en el administrador de dispositivos.
- cambie el puente en el HDD caddy si ha reemplazado la unidad de DVD / Blue-Ray con un Caddy para instalar un SSD junto a su antiguo HDD
En la siguiente demostración, el controlador Intel HD igdkmd64.sys
en la versión .4574 para Intel HD 630 causa el problema:
La solución es actualizar el controlador con una versión de al menos .4590.
En el siguiente caso, el uso de la CPU del proceso SYSTEM es causado por el controlador stdriverx64.sys
Esto parece ser un controlador de transmisión de audio . Así que actualice este software / controlador si ve esto en WPA.
Si ve un controlador llamado risdxc64.sys
en la pila de llamadas del SISTEMA que causa el uso elevado de la CPU, actualice el controlador del Controlador host PCIe SDXC / MMC de Ricoh o desactive el lector de tarjetas SD en el administrador de dispositivos si ninguna actualización del controlador lo soluciona.
Este lector de tarjetas SD parece estar integrado en muchos dispositivos Lenovo.
El usuario @stevemidgley mostró un nuevo problema de mayor uso de CPU con Wdf01000.sys!FxSystemWorkItem::_WorkItemThunk
Aquí puede ver un controlador UDE.sys causándolo.
En el centro de símbolos
Puedo ver que pertenece al controlador del módem y a los datos PNP de los programas de seguimiento Fibocom L850-GL
(módem LTE) como posible dispositivo:
Y la solución es desactivar el módem y el dispositivo compuesto USB en el administrador de dispositivos.