¿Qué es el Proceso Host de Servicio (svchost.exe) y por qué hay tantos?

Si alguna ves ha navegado por el Administrador de tareas, es posible que se haya preguntado por qué hay tantos procesos Host de servicio(svchost.exe) en ejecución. Usted no puede detenerlos, y es seguro que usted no los inicio. Entonces, ¿qué son?

host de servicio sistema local

Este es el primer artículo de una serie de publicaciones en curso explicando varios procesos encontrados en el Administrador de tareas, como dwm.exe, conhost.exe, rundll32.exe y muchos otros. ¿No sabes cuáles son esos servicios? Mejor empiece a leer!

¿Que es el proceso Host de servicio (Svchost.exe)?

Según Microsoft: Svchost.exe es el nombre de un proceso genérico de host para servicios que se ejecutan desde bibliotecas de vínculos dinámicos.

Pero eso no nos ayuda mucho. Hace algún tiempo, Microsoft comenzó a cambiar gran parte de la funcionalidad de Windows de depender de los servicios internos de Windows (que se ejecutan desde archivos EXE) a utilizar archivos DLL en su lugar. Desde una perspectiva de programación, esto hace que el código sea más reutilizable y posiblemente más fácil de mantener actualizado. El problema es que no se puede iniciar un archivo DLL directamente desde Windows de la misma manera que puede un archivo ejecutable. En su lugar, se utiliza un shell que se carga desde un archivo ejecutable para alojar estos servicios DLL. Y así nació el proceso Host de Servicio (svchost.exe).

¿Por qué hay tantos Svchost.exe en ejecución?

Si alguna vez ha echado un vistazo a la sección de servicios en el panel de control, probablemente haya notado que Windows requiere muchos servicios. Si se llegase a ejecutar cada servicio en un solo proceso de Host de servicio, tan solo un fallo en un servicio podría potencialmente derribar todo el sistema de Windows. Por esta razón se encuentran por separado.

Los servicios se organizan en grupos lógicos que están relacionados de alguna manera y, después, se crea una única instancia de Host de servicio para alojar cada grupo. Por ejemplo, un proceso Host de servicio ejecuta los tres servicios relacionados con el firewall. Otro proceso de servicio Host puede ejecutar todos los servicios relacionados con la interfaz de usuario, etc. En la imagen de abajo, por ejemplo, puede ver que un proceso de Host de servicio ejecuta varios servicios de red relacionados, mientras que otro ejecuta servicios relacionados con otros procesos como la hora.

host de servicio local

¿Hay algo que pueda hacer con toda esta información?

Honestamente, no mucho. En los días de Windows XP (y versiones anteriores), cuando las PCs tenían recursos mucho más limitados y los sistemas operativos no estaban tan bien ajustados, a menudo se recomendaba detener a Windows para que dejara de ejecutar servicios innecesarios. Hoy en dia, no recomendamos inhabilitar servicios. Las PC modernas tienden a cargarse con memoria y procesadores de alta potencia. Añadiéndole a eso el hecho de que la forma en que se manejan los servicios de Windows en versiones modernas (y los servicios qué se ejecutan) se ha simplificado y la eliminación de servicios que cree que no necesita realmente ya no tiene mucho impacto.

Dicho esto, si observa que una instancia particular de Host de servicio está causando problemas, como un consumo excesivo de CPU o RAM, puede comprobar los servicios específicos que están involucrados. Eso podría por lo menos darle una idea de por lo menos saber dónde empezar a solucionar algún problema. Existen algunas maneras de ver exactamente qué servicios están siendo alojados por una instancia particular de Host de servicio. Puede comprobar las cosas en el Administrador de tareas o mediante la aplicación de terceros llamada Process Explorer.

Compruebe los servicios relacionados en el Administrador de tareas

Si utiliza Windows 8 o 10, los procesos se muestran en la pestaña "Procesos" del Administrador de tareas con sus nombres completos. Si un proceso sirve como host para varios servicios, puede ver esos servicios simplemente expandiendo el proceso. Esto hace que sea muy fácil identificar qué servicios pertenecen a cada instancia del proceso Host de servicio.

Puede hacer clic derecho en cualquier servicio individual para detener el servicio, verlo en la aplicación "Servicios" del Panel de control o incluso buscar en línea información sobre el servicio.

que es host de servicio

Si está utilizando Windows 7, las cosas son un poco diferentes. El Administrador de tareas de Windows 7 no agrupa los procesos de la misma manera, ni muestra nombres de proceso regulares, sino que sólo muestra todas las instancias de "svchost.exe" que se están ejecutando. Usted tendra que explorar un poco para determinar los servicios relacionados con cualquier instancia particular de svchost.exe.

En la pestaña "Procesos" del Administrador de tareas en Windows 7, haga clic derecho en un proceso svchost.exe en particular y, luego, elija la opción "Ir al servicio".

svchost que es

Esto lo llevara hacia la pestaña "Servicios", donde todos los servicios que se ejecutan en ese proceso svchost.exe están seleccionados.

porque svchost.exe consume tanta memoria

A continuación, puede ver el nombre completo de cada servicio en la columna "Descripción", por lo que puede optar por deshabilitar el servicio si no desea que se ejecute o si le está dando problemas.

Comprobar servicios relacionados usando Process Explorer

Microsoft también ofrece una excelente herramienta avanzada para trabajar con procesos como parte de su línea de Sysinternals. Basta con descargar Process Explorer y ejecutarlo, es una aplicación portable, por lo que no es necesario instalarlo. Process Explorer proporciona todo tipo de funciones avanzadas.

Sin embargo, para nuestros propósitos aquí, Process Explorer agrupa los servicios relacionados bajo cada instancia de svchost.exe. Están listadas por sus nombres de archivo, pero sus nombres completos también se muestran en la columna "Descripción". También puede colocar el puntero del ratón sobre cualquiera de los procesos de svchost.exe para ver una ventana emergente con todos los servicios relacionados con ese proceso, incluso aquellos que no se estén ejecutando actualmente.

svchost 100 cpu

¿Podría este proceso ser un virus?

El proceso en sí es un componente oficial de Windows. La posibilidad de que un virus haya reemplazado al verdadero Host de servicio son prácticamente nulas. Si desea estar seguro, puede comprobar la ubicación del archivo subyacente del proceso. En el Administrador de tareas, haga clic derecho en cualquier proceso Host de servicio y seleccione la opción "Abrir ubicación de archivo".

svchost.exe windows 10

Si el archivo se almacena en su carpeta Windows\System32, puede estar seguro de que no se trata de un virus.

porque el svchost exe me consume muchos recursos

Dicho esto, si todavía desea un poco más de tranquilidad, siempre puede buscar virus con su escáner de virus preferido. ¡Más vale prevenir que curar!