Solucionar problemas de uso elevado de la CPU mediante el proceso "Sistema"

99

He notado que desde hace algún tiempo mi sistema se está congelando y probablemente sea causado por el alto uso de la CPU causado por el proceso del sistema.

Todas las aplicaciones que estoy ejecutando son Skype, TeamSpeak y Chrome, por lo que definitivamente no debería consumir esa cantidad de CPU.

Puede ver el problema en sí y los procesos en ejecución en la siguiente captura de pantalla:

ingrese la descripción de la imagen aquí

A veces, el uso de la CPU alcanza el 90%, pero el uso promedio es como 40-65%.

Los parámetros de mi PC:

  • Windows 8 (vista previa del cliente)
  • Intel Core i3 - 2350M
  • 8 GB de RAM

Agradecería cualquier intento de ayuda! Saludos.

--ACTUALIZAR--

Como el usuario a continuación publicó una gran respuesta, me di cuenta de que el proceso que Arthurx.sysconsume más CPU en el sistema se llama , simple google dice que es un controlador TPLink (un adaptador wifi, ¡lo compré hace 2 semanas!) se instaló desde el MSDN de Windows, pero también intentó instalar los controladores desde el CD adjunto, pero no ayuda. Desde el inicio del sistema, está utilizando solo el 5% de la CPU, pero después de 2 a 4 horas de trabajo está creciendo y alcanza el 40-60% del uso de la CPU.

Nombre del dispositivo: TPLink WN722N

Scott
fuente
55
Punto de orden, si está ejecutando la vista previa del cliente, todo no está actualizado ... Está ejecutando la vista previa del cliente.
Everett
@Everett Sí, probablemente tengas razón ... pero aún así no debería suceder, incluso si es una vista previa del cliente (o lanzamiento).
Scott
44
@Scott Sí, este tipo de cosas debería suceder en una vista previa del cliente. Quiero decir, por supuesto, es mejor si esos errores no existen en primer lugar, pero esta es una de las cosas que se pretende que haga una vista previa. Es una oportunidad para que los usuarios vean nuevas características y elementos de la interfaz de usuario un poco antes y verifiquen la compatibilidad de la aplicación, pero también una oportunidad para que los equipos de desarrollo obtengan comentarios y encuentren errores de una audiencia más amplia. El sistema central aún no está listo para su uso en producción . No está destinado a usarse como su sistema principal, porque no está completamente hecho o depurado. Si lo fuera, irían con RTM.
Joel Coehoorn el
1
usa xperf para rastrearlo. Pero como le dijeron otros usuarios, deje de usar el CP. ¡Todas las versiones preliminares caducarán en 2 semanas!
magicandre1981
1
La única forma en que podemos ayudarlo es si Verifica que este problema existe en la Versión RTM de Windows 8. No puede esperar que nadie lo ayude con los problemas que existen en una versión de Vista previa. Seguí adelante y actualicé las etiquetas para reflejar su uso de una versión de vista previa.
Ramhound

Respuestas:

91

Esto puede ser causado por un controlador defectuoso u otro módulo cargado por el sistema. Para mirar dentro del proceso del sistema, puede usar una herramienta como Process Explorer .

Descargue y ejecútelo, luego seleccione el proceso del Sistema, haga clic derecho y seleccione Propiedades:

ingrese la descripción de la imagen aquí

Cambie a la pestaña Hilos (ignore el cuadro de diálogo que menciona símbolos):

ingrese la descripción de la imagen aquí

Esto mostrará qué archivo está usando el uso excesivo de la CPU, desde el cual puede intentar diagnosticarlo.

Sin embargo, como otros han dicho en los comentarios, ¡realmente necesita alejarse de las versiones de Vista previa tan pronto como sea posible!

Graham Wager
fuente
Gracias por tu respuesta. Por favor vea mi pregunta actualizada.
Scott
2
@ Scott, noté que estás actualizando ahora; Si este problema aún no se resuelve después de eso, TPLink tiene un controlador beta de Windows 8 en su sitio disponible que puede ayudar. Se puede encontrar aquí: tp-link.com/en/support/download/…
Graham Wager
2
Parece que risdxc64.sys es un sospechoso habitual con las computadoras portátiles Thinkpad, que es el controlador para el lector de tarjetas, vea, por ejemplo, aquí: forums.lenovo.com/t5/ThinkPad-X-Series-Laptops/… - Lo resolví reinstalando la última versión one on win 10
patrickf
Tuve un problema similar en Windows 10. Para mí fue avc3.sys que estaba usando mucha CPU. Resulta ser parte de Bitdefender Antivirus Free.
Bruno
2
@Legends usaste la herramienta incorrecta. ProcExp muestra una captura de pantalla que no es tan útil. Escribí una respuesta sobre Windows Performance Toolkit para mostrarle en detalle cómo analizar el uso de la CPU
magicandre1981
90

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 .

ingrese la descripción de la imagen aquí (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 .

ingrese la descripción de la imagen aquí

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 paney ordenando las columnas como se ve en la imagen:

ingrese la descripción de la imagen aquí

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:

ingrese la descripción de la imagen aquí


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.

ingrese la descripción de la imagen aquí


En esta demostración, el controlador iai2ce.sys( controlador Intel Serial IO GPIO Controller) lo causa:

ingrese la descripción de la imagen aquí


En este ejemplo, el uso de la CPU proviene del archivo rtsuvc.sysque parece ser elRealtek UVC webcam Driver

ingrese la descripción de la imagen aquí


Esta demostración muestra que el controlador de Bitdefender ignis.sys

ingrese la descripción de la imagen aquí


En el siguiente ejemplo, el uso de la CPU es ocasionado por el controlador de red broadcom bcmwl664.sys

ingrese la descripción de la imagen aquí


Cuando ves ntoskrnl.exe!MiZeroWorkerPagescomo 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:

ingrese la descripción de la imagen aquí

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

ingrese la descripción de la imagen aquí

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.

ingrese la descripción de la imagen aquí

En Windows 10, la tarea se llama RunFullMemoryDiagnostics en Microsoft> Windows> MemoryDiagnostic> RunFullMemoryDiagnostic .

ingrese la descripción de la imagen aquí


En este caso, el uso de la CPU parece provenir de la Data Deduplicationfunción ( dedup.sys!DdpPostCreate) de Windows Server:

ingrese la descripción de la imagen aquí


En esta demostración, el uso de la CPU es causado por el controlador de la tarjeta WIFI athrx.sys

ingrese la descripción de la imagen aquí

Busque una actualización de controlador si ve esto.


En la siguiente demostración, está involucrado un controlador citrix:

ingrese la descripción de la imagen aquí

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!UsbhPortRecyclecausa el uso de la CPU:

ingrese la descripción de la imagen aquí

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:

ingrese la descripción de la imagen aquí


En esta demostración, el uso de CPU ntoskrnl.exe!KeAcquireSpinLockRaiseToDpcy ntoskrnl.exe!KeReleaseSpinLock.

ingrese la descripción de la imagen aquí

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

ingrese la descripción de la imagen aquí

Este es el qualcomm atheros AR8171/8175 PCI-E gigabit Ethernetconductor. 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)

ingrese la descripción de la imagen aquí

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.SYSde Symantec.

ingrese la descripción de la imagen aquí

Actualice su producto Symantec usado a la última versión.


Aquí, el uso de CPU proviene del controlador AMD GPU (atikmdag.sys)

ingrese la descripción de la imagen aquí

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.

ingrese la descripción de la imagen aquí

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

ingrese la descripción de la imagen aquí

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 flushCompleteAllPendingFlushRequestsy esto provoca un uso elevado de la CPU.

ingrese la descripción de la imagen aquí

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

ingrese la descripción de la imagen aquí


En la siguiente demostración, el controlador Intel HD igdkmd64.sysen la versión .4574 para Intel HD 630 causa el problema:

ingrese la descripción de la imagen aquí

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

ingrese la descripción de la imagen aquí

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.sysen 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.

ingrese la descripción de la imagen aquí

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

ingrese la descripción de la imagen aquí

Aquí puede ver un controlador UDE.sys causándolo.

En el centro de símbolos

ingrese la descripción de la imagen aquí

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:

ingrese la descripción de la imagen aquí

Y la solución es desactivar el módem y el dispositivo compuesto USB en el administrador de dispositivos.


magicandre1981
fuente
66
¡¡¡Agradable!!! +1 .... Para shizzle
Pimp Juice IT
1
@stevemidgley FxUsbPipeRequestWorkItemThunk procesa datos. Expande la pila más. También comparta el archivo ETL. El dispositivo compuesto USB puede ser un controlador de teléfono inteligente cuando conecta teléfonos para transferir datos,
magicandre1981
1
@stevemidgley habilita el dispositivo USB y captura un rastro, necesito un archivo ETL para ver más detalles.
magicandre1981
1
@stevemidgley que son los datos USB sin procesar, necesito el seguimiento del uso de CPU de mi respuesta anterior.
magicandre1981
1
@stevemidgley ok, parece que el controlador UDE.sys lo causa. Y por lo que veo, pertenece a Fibocom L850-GL, que es su módulo LTE.
magicandre1981
4

Una nota sobre la carga de símbolos de depuración para agregar a la excelente respuesta de magicandre1981 : si cargar los símbolos en Windows Performance Analyzer funciona correctamente, después de marcar Trazar> Cargar símbolos , debería ver una barra de progreso en la parte superior con símbolos de carga que muestra los nombres de los archivos al lado y toma Varios minutos para completar. También debería ver muchas líneas como la siguiente en la Consola de diagnóstico:

SYMSRV:  File: Accessibility.ni.pdb

SYMSRV:  Notifies the client application that a proxy has been detected.
SYMSRV:  Connecting to the Server: http://msdl.microsoft.com/download/symbols.
SYMSRV:  Successfully connected to the Server.
SYMSRV:  Sending the information request to the server.
SYMSRV:  Successfully sent the information request to the server.
SYMSRV:  Waiting for the server to respond to a request.
SYMSRV:  Successfully received a response from the server.
SYMSRV:  Closing the connection to the Server.
SYMSRV:  Successfully closed the connection to the Server.
SYMSRV:  Get File Path: /download/symbols/Accessibility.ni.pdb/7B46178957827CDAB7EE4C86EDEE1DAE1/Accessibility.ni.pdb

Si no ve ninguno de estos, es probable que la carga de los símbolos de depuración no haya funcionado y no podrá interpretar correctamente su rastreo.

En mi caso, la carga inicial de los símbolos de depuración no funcionó. Lo arreglé siguiendo estas instrucciones :

  1. Averigüe si está utilizando la versión x86 o x64 de Windows Performance Toolkit.

    Esto es fácil en las compilaciones x86 de Windows. En las compilaciones x64, puede consultar el Administrador de tareas para la etiqueta * 32. Si no está allí, está ejecutando la versión x64.

    Tenga en cuenta que WPT siempre se instala en Archivos de programa (x86) independientemente de la arquitectura.

  2. Copie los archivos dbghelp.dlly symsrv.dlldel directorio del depurador correcto en el directorio de Windows Performance Toolkit. En mi sistema, los directorios relevantes son:

    C:\Program Files (x86)\Windows Kits\10\Debuggers\x64 y C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit

  3. Reinicie Windows Performance Analyzer para que se elija la versión correcta de dbghelp.dll.

AronVanAmmers
fuente
2
deberías agregar esto a mi respuesta como una edición. esta no es una respuesta real
magicandre1981
0

Primero, la revisión y la información suministrada son muy informativas, sin embargo, ¡generalmente puede resolver esto con mucha menos inteligencia! Simplemente utilicé MSCOFIG.EXE y una búsqueda binaria para aislar el servicio ofensivo. He encontrado que la mayoría de los problemas como este son causados ​​por el software Intel. Comienzo deshabilitando cualquier servicio que no tenga el nombre de una compañía. Luego empiezo con los servicios de Intel. Luego la búsqueda binaria completa. Por lo general, toma una hora como máximo para solucionar el problema en la PC de alguien. Intel nunca fue una buena compañía de computadoras, y su software lo demuestra. Seamos realistas, la arquitectura Pentium tenía una década cuando se lanzó. ¿Quién habría construido una arquitectura de computadora con memoria paginada en los días de VAX? Bueno, no te aburriré con la historia. No es que sea fanático de AMD o Microsoft tampoco. Quizás algún día nosotros '

Leonard Umina
fuente
Te das cuenta de que el VAX usa memoria paginada, ¿verdad? ¿Y por qué no usarías memoria paginada hoy?
Jamie Hanrahan
-1

Tuve el mismo problema, desapareció cuando quité uno de los módulos de RAM. Parece que fue defectuoso. Ejecutando Windows 7, 32 bits.

Cosmin
fuente