Por lo general, mantengo mi computadora portátil encendida las 24 horas del día, los 7 días de la semana, y al final del día es realmente molesto quemarme los muslos porque se sobrecalienta.
El sobrecalentamiento parece ser el resultado de WMI Provider Host (WmiPrvSE.exe) que aumenta la utilización de la CPU al 25% cada pocos minutos. ¿Por qué pasó esto?
Tengo un HP Envy 14 (con la basura incluida de HP) ejecutándose en Windows 7 Home Premium.
(Nota: según las observaciones anteriores de @ nhinkle , parece que HP Wireless Manager podría ser el culpable, ¿hay alguna forma de confirmar esto?)
Esta pregunta fue una pregunta de superusuario de la semana .
Lea la entrada del blog del 28 de febrero de 2011 para obtener más detalles o envíe su propia Pregunta de la semana.
Respuestas:
Como mencionó Sathya en su pregunta, he tenido experiencia previa con este problema en mi computadora portátil HP similar, y ahora he confirmado usando el método científico que los picos de CPU en las computadoras portátiles HP son causados por el Asistente inalámbrico HP. O, HP CPU Assassin, como puedo comenzar a llamarlo.
Descripción general del experimento
Pregunta : ¿Qué está causando que la CPU de la computadora portátil HP se dispare a intervalos frecuentes, específicamente el
WmiPrvSE.exe
proceso?Hipótesis : el Asistente inalámbrico HP (HPWA) está causando el problema
Método :
WmiPrvSE.exe
proceso deja de usar> 20% de CPU cuando se suspende el proceso HPWA.Resultados : HPWA está causando un uso extremo de la CPU
Conclusión : debe desinstalar HPWA ya que no hace nada útil
Información de antecedentes
Cuando obtuve mi computadora portátil HP Pavillion dm4t, noté que la CPU con frecuencia aumentaba hasta un 50% de uso, casi cada segundo. Esto estaba agotando la duración de la batería y calentando la computadora portátil; los mismos síntomas que Sathya ha experimentado. Con solo mirar el Monitor de recursos en Windows 7, pude ver que el proceso
WmiPrvSE.exe
tuvo la culpa.Una búsqueda rápida en Google confirmó mi suposición de que este era el proceso de host del Instrumental de administración de Windows (WMI). En resumen, WMI se puede utilizar para consultar información del sistema, como el uso del procesador, los procesos en ejecución, quién está conectado y todo tipo de otra información. El proceso de host WMI ejecuta consultas WMI para cualquier otro proceso que las haga, por
WmiPrvSE.exe
lo que no fue en sí mismo el culpable, simplemente fue un intermediario.Para buscar qué proceso específico estaba causando este problema, utilicé Systinternals Process Explorer . Encontré qué instancia del
WmiPrvSE.exe
proceso estaba usando una gran cantidad de CPU, e hice clic en ella para abrir información detallada.Desafortunadamente, no pude encontrar ninguna manera de averiguar qué proceso estaba haciendo todas las consultas, pero como había aislado esto como la fuente de los picos de CPU y sabía que era un servicio, fui al gerente de servicios para ver qué Los servicios dependían de WMI, pensando que eso podría llevarme a otra pista.
Pensé que no sería un servicio integrado de Windows que causara el problema, así que al eliminarlos, decidí trabajar en la lista e intentar deshabilitar cada servicio, y ver si el problema persistía. Justo en la parte superior de la lista estaba el Servicio de Asistente Inalámbrico HP. Regresé al menú de servicios e inhabilité ese servicio. Mirando hacia atrás en el administrador de tareas, vi que el uso de la CPU se había reducido a casi nada. I el servicio HPWA de nuevo. Uso de CPU disparado de nuevo. Ahora tenía suficientes datos para formar mi teoría. Desinstalé el servicio HPWA y nunca volví a tener el problema.
Verificando la Hipótesis
Varios meses después, Sathya hace esta pregunta. Decidí demostrar de una vez por todas que esto era culpa de HPWA. Reinstalé el Asistente inalámbrico HP, que no había instalado en meses. De inmediato, el uso del procesador se disparó. Luego realicé el experimento descrito anteriormente.
Primero, aislé el proceso responsable del servicio HPWA en el Monitor de recursos.
HPWA_Service.exe
yHPWA_Main.exe
son los dos. Así es como se veía el uso de la CPU con ambas ejecuciones procesadas:Entonces, suspendí ambos procesos. El uso de la CPU se redujo de inmediato; Esto es lo que parecía después de unos momentos para que se borrara el uso anterior de la CPU en el gráfico:
Volví a habilitar los procesos para ver si el uso volvería a funcionar. Lo hizo:
El primer pico cuando habilito HPWA
Poco después de habilitar HPWA
La suspensión de los procesos nuevamente dio como resultado que el uso de la CPU se redujera:
Probé esto para una iteración más, y en la tercera prueba, sucedió exactamente lo mismo. Consideré esta evidencia suficiente para demostrar que el Asistente inalámbrico HP estaba causando el problema, y posteriormente deshabilité el servicio, y ahora lo desinstalaré.
Todo lo que HPWA parece hacer es informar al usuario cuando su conexión inalámbrica está encendida o apagada, y engullir la CPU. No hay nada que pueda hacer con él que no pueda hacer con las herramientas de administración inalámbrica incorporadas, por lo que le aconsejaría que si tiene este software instalado, lo elimine.
Nota: Al menos una persona ha informado que la desinstalación de HPWA provocó que su interruptor inalámbrico en el teclado dejara de funcionar. En mi computadora portátil, siguió funcionando bien después de desinstalar HPWA, pero en caso de que la suya deje de funcionar, siempre puede desactivar la tarjeta inalámbrica desde Windows. Presione + xpara abrir el Centro de movilidad de Windows, luego haga clic en el
Turn Wireless Off
botón.Según una discusión sobre los foros de soporte de HP, el problema se ha solucionado en versiones más recientes de HP Wireless Assistant. Si su computadora portátil necesita HPWA para usar el botón de encendido / apagado wifi, puede descargar la última versión del sitio web de controladores de HP, y probablemente ya no tendrá este problema. Sin embargo, si no lo necesita para el botón de encendido / apagado wifi, parece que no hay ningún valor agregado al tener este software instalado.
fuente
Solución de problemas
Descargue ProcDump desde Microsoft Sysinternals.
Deje que se descargue una vez que WmiPrvSE.EXE llegue al 25% durante 1 segundo:
Esto creará un volcado en su carpeta de usuario.
Siéntase libre de repetir esto 1 - 2 veces más para que tenga más descargas y pueda estar seguro de que la causa se descarta y no otro evento más normal.
Analice sus volcados en línea y, opcionalmente, compártalos en SpeedyShare .
Alternativa : WinDBG podría usarse con el comando
!analyze -v
, asegúrese de establecer símbolos .El seguimiento de la pila que se muestra debe incluir el procedimiento que causa esto.
Quizás busque en Google algunos de los mejores procedimientos de la pila para tener una mejor idea de lo que hacen.
Si no te ayudan, es posible que necesites un análisis más avanzado. Vea mi próxima sección:
Abra un símbolo del sistema como administrador y copie y pegue el siguiente comando:
Presione ENTER una vez para iniciar el comando, ahora tendrá que esperar hasta que se haya producido el pico.
Ejecute el siguiente comando para mostrar el archivo y analizarlo (se requieren WinDBG / Símbolos ):
Si quieres que lo investigue:
Como WmiPrvSE.EXE es un host para ejecutar consultas WMI en el almacén CAPI, es posible que no pueda encontrar la causa incluso con XPerf debido a IPC , otra solución que acabo de encontrar sería habilitar el registro WMI y verificar los registros como se describe aquí , ClientProcessId sería el PID del proceso que realizó la consulta WMI. Este PID puede rastrearse hasta el proceso agregando una columna PID al Administrador de tareas o al Explorador de procesos , o
tasklist /FI "PID eq X"
donde X es el PID que encontró ...Análisis del volcado 1 : las líneas 94-115 indican una llamada a procedimiento remoto .
Análisis del volcado 2 : las líneas 84-105 indican una llamada a procedimiento remoto .
En el Kernel, se inicia un nuevo subproceso para manejar un código auxiliar de llamada a procedimiento remoto , que en esencia es una solicitud de consulta que el proveedor de WMI ejecutará y responderá. Esto da como resultado una alta actividad de la CPU debido a la lectura de la información del registro y / o rendimiento.
Como un volcado es una captura de un solo momento, no podrá ver qué proceso realizó el RPC.
Por lo tanto, necesita un programa que rastree como XPerf para ver el hilo anterior que estaría haciendo el RPC.
O, si habilita la información de estado de RPC , puede usar rpcdbg para ver quién inició la llamada.
Ejemplo:
El ejemplo anterior establece un punto de interrupción en el RPC, para que pueda ver quién lo ejecuta en la segunda línea de la pila. Pero bueno, es poco probable que establecer un punto de interrupción en la primera llamada (tenga en cuenta que se trata de depuración en vivo) lo ayudará a ver quién llama al proveedor de WMI cada vez ...
Hay mucha más información en ese artículo sobre la información de estado de RPC que podría ayudar, pero no es para los débiles como nosotros que pasamos por todo eso cuando podríamos usar XPerf. :-)
Como ahora sabemos sobre el funcionamiento interno de cómo funciona el RPC, también podríamos usar API Monitor :
Establezca el filtro de captura API en el
Rpcrt4.dll
módulo.Similar al punto de interrupción, queremos saber quién llama a las
RpcServerUseProtSeq
funciones:Enganche cada proceso en ejecución, excepto aquellos con un PID bajo (para evitar bloqueos).
Ideal, no quieres enganchar
dwm.exe
/winlogon.exe
o bajar.También puede probar procesos individuales y desengancharlos más tarde desde la ventana Procesos enganchados ...
Aunque ... Lo he intentado y podría conectarme con cualquier proceso.
Si todo va bien, el proceso enganchado que realiza la llamada RPC contendrá hilos.
Y al hacer clic en estos hilos, debería ver un montón de llamadas.
Si lo hace, ¡ha encontrado el proceso que causa el problema!
Solución
Mantener su computadora actualizada es importante, ¡instalar HPWA 4.0.10.0 lo resuelve! ;-)
fuente
La entrada del blog de Microsoft ¿Es WMIprvse un verdadero villano? muestra cómo encontrar qué proceso es responsable de la CPU que está utilizando WmiPrvSE.exe.
El método utiliza la opción del visor de eventos "Mostrar registros analíticos y de depuración" para rastrear toda la actividad de WMI, obteniendo así la identificación del proceso del proceso culpable.
fuente
Solo agregando esto para cualquier otra persona en el mismo barco, esta página está en todo Google. Tuve el mismo problema con la CPU de WmiProvderHost hasta un 50% y agotando la batería de mi Lenovo Yoga2 Pro en Windows 8.1.
Siguiendo algunos de los excelentes consejos de investigación anteriores, descubrí que el problema para mí era en realidad GoPro Studio (software de edición de video gratuito que viene con cámaras GoPro). Instala un servicio de monitoreo que espera a que conecte su cámara y para mí este fue el culpable.
fuente
Para depurarlo, use xperf del kit de herramientas de rendimiento de Windows y ejecute este archivo cmd:
Abra el archivo WMItracing.etl generado en WPA.exe y arrastre y suelte el gráfico "Eventos genéricos" del lado izquierdo al panel de análisis.
Ahora filtre solo a los eventos de Microsoft-Windows-WMI-Activity y busque las operaciones de WMI y el ClientProcessId.
En mi ejemplo, este CLientProcessId pertenece a una herramienta llamada Veeam ONE Monitor Server . Deteniéndolo, solucionó el problema de uso de la CPU .
Y el segundo ejemplo se muestra aquí:
¿Ve llamadas recurrentes de un Proceso con PID de 1924 que pertenece al servicio Intel ProSet Monitoring?
Aquí el uso de la CPU también se muestra en las pilas de llamadas de muestreo de la CPU:
Entonces, la herramienta Intel hace consultas de notificación WMI con demasiada frecuencia y esto causa los problemas. Deteniéndolo, solucionó el problema.
fuente
¿Has intentado ver si es un virus? A algunos virus realmente les gusta desfilar como servicios de Windows como ese. Asegúrese de que el
WmiPrvSE.exe
proceso esté ubicado en elc:\windows\system32\wbem
directorio. De lo contrario, es posible que desee ejecutar programas generales de detección de spyware. Si no se trata de software espía, es posible que otro servicio lo llame. Sé que tengo algunos dispositivos rápidos ejecutándose en mi computadora, e irónicamente, el dispositivo del monitor de rendimiento a veces hace que mi CPU aumente un poco. Además, podría ser otro servicio que presiona ese gas de vez en cuando. Por ejemplo, bloatware de HP, Dell, etc.Aparte de eso, la otra respuesta de TomWij parece bastante buena para solucionarlo.
fuente
Verify Signatures
opción; entonces, si dice(Verified) X
en laVerified Signer
columna, entonces Microsoft lo verifica y el ejecutable es parte del producto / compañíaX
, en este casoMicrosoft Windows
.C:\Windows\system32\wbem
y la columna verificada indica que el archivo está verificado. @TomWij