Solucionar problemas de uso elevado de CPU por parte del proceso "Sistema"

Solucionar problemas de uso elevado de CPU por parte del proceso "Sistema"

He notado que desde algún momento mi sistema se está congelando y probablemente se debe al alto uso de 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 del 40 al 65%.

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 excelente respuesta, me di cuenta de que el proceso que consume más CPU en el sistema se llama Arthurx.sys, simplemente Google dice que es un controlador TPLink (un adaptador wifi, ¡lo compré hace como 2 semanas!). Se instaló desde Windows MSDN, pero también intenté instalar los controladores desde el CD adjunto, pero no ayuda. Desde el inicio del sistema, utiliza aproximadamente el 5% de la CPU únicamente, pero después de 2 a 4 horas de funcionamiento crece y alcanza el 40-60% del uso de la CPU.

Nombre del dispositivo:TPLink WN722N

Respuesta1

Introducción

El uso elevado de CPU por parte del proceso "Sistema" a menudo puede deberse a un problema con el controlador de hardware (error, versión antigua, incompatibilidad, etc.).

El proceso del sistema carga (o aloja) múltiples controladores de hardware de diferentes proveedores que requieren un mayor nivel de acceso a la memoria. Es por eso que diagnosticar al culpable específico puede requerir un poco de trabajo de detective, como se describe a continuación.

Diagnóstico del problema

Para diagnosticar los problemas de uso de la CPU, debe utilizar el seguimiento de eventos para Windows (ETW) para capturar datos/perfil de muestreo de la CPU.

Para capturar los datos,instalar el kit de herramientas de rendimiento de Windows, que forma parte delSDK de Windows.

El WPT de Windows 10 se puede utilizar en Windows 8/Server 2012, Windows 8.1/Server 2012R2 y Windows 10/Server 2016. Si todavía usa Windows 7, use elSDK/WPT con compilación 15086.

ingrese la descripción de la imagen aquí (todas las demás entradas se pueden deseleccionar)

Ahora ejecute WPRUI.exe, seleccione First Level, en Recurso seleccioneuso de CPUy haga clic encomenzar.

ingrese la descripción de la imagen aquí

Ahora capture 1 minuto del uso de la CPU. Después de 1 minuto, haga clic enAhorrar.

Ahoraanalizar el archivo ETL generado con el Analizador de rendimiento de Windowsarrastrando 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,cargar los símbolos de depuracióny expanda Pila del proceso 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 NIC Realtek:

ingrese la descripción de la imagen aquí


Cuando ves llamadas comontoskrnl.exe!ViKeTrimWorkerThreadRoutine, ntoskrnl.exe!MmVerificadorTrimMemory, ntoskrnl.exe!VerificadorKeDejarRegiónCrítica, esto significa que tiene habilitado el Verificador de controladores. Esto también perjudica mucho el rendimiento y provoca un uso elevado del SISTEMA.Deshabilitar el verificador de controladoresy reiniciar.

ingrese la descripción de la imagen aquí


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

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 el controlador Bitdefenderignis.sys

ingrese la descripción de la imagen aquí


En el siguiente ejemplo, el uso de la CPU se debe al controlador de red Broadcom.bcmwl664.sys

ingrese la descripción de la imagen aquí


Cuando lo 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 usarse nuevamente causa un alto uso de la CPU:

ingrese la descripción de la imagen aquí

No existe 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 ves esto y usas Chrome, desactiva la aceleración de hardware en Chrome.


Cuando veas esosntoskrnl.exe!RtlpGenericRandomPatternWorker, ntoskrnl.exe!RtlpTestMemoryRandomUpllamadas

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 utilizar el Programador de tareas para desactivar la tarea inactiva.

ingrese la descripción de la imagen aquí

En Windows 10, la tarea se llama RunFullMemoryDiagnostics enMicrosoft > 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 del controlador si ve esto.


En la siguiente demostración, participa un controlador Citrix:

ingrese la descripción de la imagen aquí

Comuníquese con su departamento de TI para saber cómo resolver los problemas de Citrix.


En esta demostración, la función usbhub.sys!UsbhPortRecycleprovoca el uso de la CPU:

ingrese la descripción de la imagen aquí

Cambiando los puertos USB2.0 a velocidad 1.1o 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 la CPU ntoskrnl.exe!KeAcquireSpinLockRaiseToDpcy ntoskrnl.exe!KeReleaseSpinLock.

ingrese la descripción de la imagen aquí

entonces un conductor está usandoCerraduras giratoriasmuy pesadamente. Deshabilite algunos dispositivos/controladores hasta que vea uno que lo cause.


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 del escaneo del 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 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 la CPU proviene del controlador de GPU AMD (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 provocan un 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ónntoskrnl.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 la 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, eliminar los servicios Intel (por ejemplo, el servicio HECI de protección de contenido Intel)parece arreglarlo 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í deberíasinstale el controlador más reciente de Intelarreglarlo.


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 untema interno del sistema, enumeré algunos consejos:

  • asegúrese de que la CPU no se sobrecaliente debido al polvo en el ventilador de la CPU
  • actualice o vuelva a actualizar el (mismo) BIOS/UEFI
  • cargar la configuración predeterminada de BIOS/UEFI
  • asegúrese de que la batería no esté dañada, retírela de la computadora portátil o desactívela en el administrador de dispositivos.
  • cambiar jersey en carrito de disco durosi reemplazó 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 esactualizar al controladorcon versión de al menos .4590.


En el siguiente caso, el uso de CPU del proceso SISTEMA es causado por el controladorstdriverx64.sys

ingrese la descripción de la imagen aquí

Esto parece ser uncontrolador 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 un uso elevado de la CPU, actualice elControlador de host Ricoh PCIe SDXC/MMCcontrolador o deshabilite 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 conWdf01000.sys!FxSystemWorkItem::_WorkItemThunk

ingrese la descripción de la imagen aquí

Aquí puede ver un controlador UDE.sys que lo causa.

En el centro de símbolos

ingrese la descripción de la imagen aquí

Puedo ver que pertenece al controlador del módem y los datos PNP del seguimiento muestran 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.


El usuario@fajarproporcionó el siguiente caso:

ingrese la descripción de la imagen aquí

Aquí el uso de la CPU es pequeño, pero si cambia la vista al uso de DPC/ISR

ingrese la descripción de la imagen aquí

Puede ver que el controlador avgNetHub.sys provoca un gran uso de DPC.

ingrese la descripción de la imagen aquí

El nombre indica que este controlador forma parte del software antivirus AVG. Así que actualice el software o elimínelo si ve esto en su seguimiento.


Respuesta2

Esto puede deberse a un controlador defectuoso u otro módulo cargado por el sistema. Para mirar dentro del proceso del sistema, puede usar una herramienta comoExplorador de procesos.

Descárguelo y ejecútelo, luego seleccione el proceso 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á utilizando un uso excesivo de CPU, desde donde podrá intentar diagnosticarlo.

Sin embargo, como otros han dicho en los comentarios, ¡realmente necesitas alejarte de las versiones preliminares lo antes posible!

Respuesta3

Una nota sobre la carga de símbolos de depuración para agregarExcelente respuesta de magicandre1981: si la carga de los símbolos en el Analizador de rendimiento de Windows funciona correctamente, después de marcarTraza > Cargar símbolosDeberías ver una barra de progreso en la parte superior conCargando símbolosque muestra los nombres de los archivos al lado y tarda varios minutos en completarse. 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 símbolos de depuración no haya funcionado y no podrá interpretar correctamente su seguimiento.

En mi caso, la carga inicial de símbolos de depuración no funcionó. Lo solucioné siguiendoestas instrucciones:

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

    Esto es fácil en versiones x86 de Windows. En compilaciones x64, puede consultar el Administrador de tareas para ver la etiqueta *32. Si no está ahí, entonces estás 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 al directorio de Windows Performance Toolkit. En mi sistema, los directorios relevantes son:

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

  3. Reinicie el Analizador de rendimiento de Windows para seleccionar la versión correcta de dbghelp.dll.

Respuesta4

Respuestaañadido por@magiandre1981es la clave para solucionar cualquier problema. Mi caso no figuraba allí, pero encontré una palabra similar en la pila que se describe en The most complicated case of SYSTEM usage is ACPI.sys usage in the callstack:la sección. En mi caso, Intel Rapid Storagefue útil instalar el controlador. No esperaba esto ya que todos estuvieron trabajando durante mucho tiempo sin este controlador y sin ningún problema de CPU. Puse mi pila aquí, probablemente alguien encontrará esta respuesta con palabras clave similares.

Line #, Process, Stack, Count, Weight (in view) (ms), TimeStamp (s), % Weight
3, , [Root], 45104, 45,300.439000, , 16.21
4, ,   ntoskrnl.exe!KiStartSystemThread, 45104, 45,300.439000, , 16.21
5, ,   ntoskrnl.exe!PspSystemThreadStartup, 45104, 45,300.439000, , 16.21
6, ,   |- ntoskrnl.exe!SMKM_STORE_MGR<SM_TRAITS>::SmCompressCtxWorkerThread, 38830, 38,997.540000, , 13.95
7, ,   |    |- ntoskrnl.exe!SMKM_STORE_MGR<SM_TRAITS>::SmCompressCtxProcessEntry, 38708, 38,874.943400, , 13.91
8, ,   |    |    |- ntoskrnl.exe!memcpy, 33888, 34,032.390100, , 12.18
9, ,   |    |    |    |- ntoskrnl.exe!memcpy<itself>, 33655, 33,795.069100, , 12.09
10, ,   |    |    |    |- ntoskrnl.exe!KiDpcInterrupt, 228, 232.331300, , 0.08
11, ,   |    |    |    |- ntoskrnl.exe!KiInterruptDispatchNoLockNoEtw, 4, 3.989700, , 0.00
12, ,   |    |    |    |- ntoskrnl.exe!KiInterruptDispatch, 1, 1.000000, , 0.00
13, ,   |    |    |- ntoskrnl.exe!RtlCompressBuffer, 2571, 2,585.541600, , 0.93
14, ,   |    |    |- ntoskrnl.exe!SMKM_STORE_MGR<SM_TRAITS>::SmCompressCtxProcessReadyQueue, 2015, 2,022.554900, , 0.72
15, ,   |    |    |- ntoskrnl.exe!MmBuildMdlForNonPagedPool, 129, 129.294600, , 0.05
16, ,   |    |    |- ntoskrnl.exe!SMKM_STORE_MGR<SM_TRAITS>::SmCompressCtxProcessEntry<itself>, 63, 62.901700, , 0.02
17, ,   |    |    |- ntoskrnl.exe!ExAcquireSpinLockExclusive, 31, 31.208200, , 0.01
18, ,   |    |    |- ntoskrnl.exe!MetroHash64::Hash, 10, 10.033100, , 0.00
19, ,   |    |    |- ntoskrnl.exe!KiDpcInterrupt, 1, 1.019200, , 0.00
20, ,   |    |- ntoskrnl.exe!SMKM_STORE_MGR<SM_TRAITS>::SmCompressCtxWorkerThread<itself>, 78, 78.477100, , 0.03
21, ,   |    |- ntoskrnl.exe!ExAcquireSpinLockExclusive, 39, 39.068100, , 0.01
22, ,   |    |- ntoskrnl.exe!KeWaitForSingleObject, 5, 5.051400, , 0.00
23, ,   |- ntoskrnl.exe!SMKM_STORE<SM_TRAITS>::SmStWorkerThread, 5420, 5,445.923200, , 1.95
24, ,   |- ntoskrnl.exe!SmKmStoreHelperWorker, 495, 496.265200, , 0.18
25, ,   |- ntoskrnl.exe!SMKM_STORE<SM_TRAITS>::SmStReadThread, 359, 360.710600, , 0.13
26, , n/a, 16760, 16,773.871200, , 6.00

Actualizar:Lamentablemente el problema volvió. Después de reiniciar, la PC funciona bien por un tiempo, pero luego aparece la misma fuga de CPU con la misma pila

información relacionada