¿Cuál es el proceso de host de servicio (svchost.exe) y por qué hay tantos en ejecución?

¿Cuál es el proceso de host de servicio (svchost.exe) y por qué hay tantos en ejecución?

Si alguna vez miró el Administrador de tareas, es posible que se haya preguntado por qué hay tantos procesos de Service Host en ejecución. No puedes matarlos, y ciertamente no los iniciaste. Entonces, ¿qué son?

El proceso de Service Host sirve como contenedor para cargar servicios desde archivos DLL. Los servicios se organizan en grupos relacionados y cada grupo se ejecuta dentro de una instancia separada del proceso de host del servicio. Por lo tanto, un problema en una instancia no afecta a otras instancias. Este proceso es una parte vital de Windows que no puede detenerse. 

Este artículo es parte de nuestra serie en curso que explica los diversos procesos que se encuentran en el Administrador de tareas, como dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe y muchos más. ¿No sabes cuáles son estos servicios? ¡Mejor empieza a leer!

¿Qué es un proceso de host de servicio?

Aquí está la respuesta, según Microsoft:

Svchost.exe es el nombre de proceso de host común para los servicios iniciados 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, confiando en los servicios internos de Windows (que se ejecutan desde archivos EXE) para usar archivos DLL. Desde el punto de vista de la programación, esto hace que el código sea más reutilizable y tal vez más fácil de mantener actualizado. El problema es que no puede ejecutar un archivo DLL directamente desde Windows de la misma manera que un ejecutable. En su lugar, se utiliza un contenedor cargado desde el ejecutable para alojar estos servicios DLL. Así nació el proceso Service Host (svchost.exe).

¿Por qué hay tantos procesos de host de servicio en ejecución?

Si alguna vez ha consultado la sección Servicios del Panel de control, probablemente haya notado que Windows requiere muchos servicios. Si cada servicio individual se ejecutara dentro de un solo proceso de host de servicio, una falla en un servicio podría potencialmente provocar la caída de todo Windows. En cambio, están separados.

Los servicios se organizan en grupos lógicos que están relacionados de alguna manera y luego se crea una instancia separada del host del servicio para albergar cada grupo. Por ejemplo, un proceso de Service Host inicia tres servicios relacionados con el cortafuegos. Otro proceso de Service Host puede iniciar todos los servicios relacionados con la interfaz de usuario, y así sucesivamente. Por ejemplo, en la imagen a continuación, puede ver que un proceso de Service Host inicia varios servicios de red relacionados, mientras que otro inicia servicios relacionados con llamadas a procedimientos remotos.

¿Qué debo hacer con toda esta información?

Para ser honesto, no mucho. En los días de Windows XP (y versiones anteriores), cuando los recursos de la PC eran mucho más limitados y los sistemas operativos no estaban tan bien ajustados, a menudo se recomendaba evitar que Windows ejecutara servicios innecesarios. Ya no recomendamos desactivar los servicios en este momento. Las PC modernas tienden a estar cargadas de memoria y procesadores potentes. Agregue a eso el hecho de que la forma en que se manejan los servicios de Windows en las versiones modernas (y qué servicios se ejecutan) se ha simplificado, y eliminar los servicios que cree que no necesita ya no importa mucho.

Sin embargo, si nota que una instancia particular del Host de servicio o su servicio asociado está causando problemas, como un uso excesivo persistente de CPU o RAM, es posible que desee verificar los servicios específicos involucrados. Esto al menos puede darle una idea de dónde comenzar a solucionar problemas. Hay varias formas de averiguar exactamente qué servicios están alojados en una instancia de Host de servicio en particular. Puede verificar todo en el Administrador de tareas o con una excelente aplicación de terceros llamada Process Explorer.

Compruebe los servicios relacionados en el administrador de tareas

Si usa Windows 8 o 10, los procesos aparecen en la pestaña Procesos del Administrador de tareas por sus nombres completos. Si un proceso aloja varios servicios, puede ver esos servicios simplemente expandiendo el proceso. Esto hace que sea muy fácil determinar qué servicios pertenecen a cada instancia del proceso Service Host.

Puede hacer clic con el botón derecho en cualquier servicio individual para detener el servicio, verlo en la aplicación del Panel de control de servicios o incluso buscar en la web información sobre el servicio.

Si está utilizando Windows 7, las cosas son un poco diferentes. El Administrador de tareas de Windows 7 no agrupó los procesos de la misma manera y no mostró los nombres de los procesos normales; solo mostró todas las instancias de «svchost.exe» que se estaban ejecutando. Tuvo que investigar un poco para determinar los servicios asociados con cualquier instancia particular de «svchost.exe».

En la pestaña Procesos del Administrador de tareas en Windows 7, haga clic derecho en el proceso específico «svchost.exe» y luego seleccione la opción «Ir al servicio».

Accederá a la pestaña «Servicios», donde se seleccionan todos los servicios que se ejecutan bajo este proceso «svchost.exe».

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

Compruebe los servicios complementarios con Process Explorer

Microsoft también proporciona una excelente herramienta de proceso avanzada como parte de su línea Sysinternals. Simplemente descargue Process Explorer  y ejecútelo; es una aplicación portátil, por lo que no necesita instalarla. Process Explorer proporciona todo tipo de funciones avanzadas, y recomendamos encarecidamente leer nuestra guía de aprendizaje de Process Explorer para obtener más información.

Sin embargo, para nuestros propósitos, Process Explorer agrupa los servicios relacionados en cada instancia de «svchost.exe». Se enumeran por nombre de archivo, pero sus nombres completos también se muestran en la columna Descripción. También puede pasar el cursor sobre cualquiera de los procesos «svchost.exe» para ver una ventana emergente con todos los servicios asociados con ese proceso, incluso aquellos que no se están ejecutando actualmente.

¿Podría este proceso ser un virus?

El proceso en sí es un componente oficial de Windows. Si bien es posible que el virus haya reemplazado el host de servicio real con su propio ejecutable, esto es muy poco probable. Si quiere estar seguro, puede verificar la ubicación del archivo base del proceso. En el Administrador de tareas, haga clic con el botón derecho en cualquier proceso de host de servicio y seleccione la opción «Abrir ubicación de archivo».

Si el archivo está almacenado en la carpeta Windows\System32, puede estar seguro de que no se trata de un virus.

Sin embargo, si aún desea un poco más de tranquilidad, siempre puede buscar virus con su escáner antivirus preferido. ¡Dios salva al hombre, que se salva a sí mismo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *