Tengo una computadora portátil con un sistema Win 7 de 32 bits alimentado por un Pentium de doble núcleo (es una computadora portátil 2010). A veces funciona bien, pero generalmente está inactivo al 100% de la carga de la CPU. La CPU es consumida por dos procesos svchost.exe (50% cada uno). Por lo que yo entiendo, este es un host de servicio. ¿Hay alguna manera de averiguar qué servicio es el culpable?
De nota: esto sucede incluso en modo seguro.
Respuestas:
Como una instancia de svchost.exe aloja múltiples servicios del sistema, a continuación se explica cómo separar los servicios, cada uno a su propia instancia de svchost.exe, para descubrir qué servicio consume la CPU.
El procedimiento es el siguiente :
Use el Administrador de tareas para mostrar todos los procesos ordenados por CPU descendente y marque el PID de los procesos que consumen la CPU
En un símbolo del sistema (cmd) ingrese el comando
Tasklist /svc /fi "IMAGENAME eq svchost.exe"
Las instancias problemáticas de svchost.exe ahora se pueden ubicar por su PID y a la derecha encontrará una lista de los servicios del sistema que alojan
Para cada uno de los nombres en la lista, ingrese el siguiente comando en un Símbolo del sistema (cmd) que se ejecuta como administrador:
sc config <name> type= own
(Tenga en cuenta el espacio entre '=' y 'propio')
Reiniciar
Los servicios del sistema que separó ahora se ejecutarán en su propia instancia de svchost.exe y se pueden ver en el Administrador de tareas en la pestaña Procesos. Puede hacer clic con el botón derecho en una instancia y seleccionar "Ir a los servicios" para ir directamente al servicio, o usar nuevamente el comando de lista de tareas.
Para obtener más información, consulte el artículo de Microsoft
Introducción a SVCHOST.EXE Solución de problemas .
fuente
Process Explorer lo hace fácil. He confirmado que esto funciona con Process Explorer v16.20 en Windows 7 Professional de 64 bits y Windows 10 Pro de 64 bits.
svchost.exe
proceso con un valor alto (o incluso solo medible / no en blanco) en laCPU
columna. Ordenar por la columnaProcess
oCPU
puede ayudar con esto.svchost.exe
proceso y seleccioneProperties...
.Threads
pestaña. Se mostrarán todos los hilos en este proceso.CPU
columna. Ordenar por laCPU
columna puede ayudar con esto.Service
columna mostrará el nombre del servicio en el que se ejecuta ese hilo.Si el nombre del servicio no le es familiar ...
Services
pestaña. Se mostrarán todos los servicios que se ejecutan en este proceso.Service
columna en laServices
pestaña con el valor de laService
columna en laThreads
pestaña que encontró en el paso 6.Display Name
columna mostrará el nombre descriptivo del servicio. La descripción del servicio seleccionado aparecerá debajo de la lista de servicios.fuente
Puedes usar el Administrador de tareas . Hay otras formas (línea de comando, o incluso escribir algún programa usando WinAPI ), pero no las discutiré aquí. Antes de continuar, su usuario debe tener privilegios administrativos.
En la pestaña Procesos :
Vuelva a la pestaña Procesos , haga clic en el encabezado de la columna de la CPU para que los procesos se ordenen según su consumo de CPU (tenga en cuenta que los procesos pueden mostrarse en orden ascendente / descendente; cada clic en la CPU cambia los pedidos), haga clic hasta que los 2 procesos aparecer en la parte superior de la tabla. Ahora puede ver su línea de comando (no lo sé, pero tengo la sensación de que uno de ellos es
netsvcs
(Servicios de red)) y también sus PID.A continuación, debe hacer coincidir los 2 procesos con los servicios. Para eso puedes:
EDITAR0 : respuesta actualizada para proporcionar un enfoque más simple (y con mucho más sentido), en lugar de rascarme la cabeza derecha con el estilo de la mano izquierda , que inicialmente publiqué.
fuente