¿Qué es el proceso de host de servicio (svchost.exe) y por qué hay tantos ejecutándose?
Si alguna vez ha navegado por el Administrador de tareas, es posible que se haya preguntado por qué hay tantos procesos de Host de servicio en ejecución. No puedes matarlos, y seguro que no los empezaste. Entonces, ¿qué son??
El proceso de Host de servicio sirve como un shell para cargar servicios desde archivos DLL. Los servicios se organizan en grupos relacionados y cada grupo se ejecuta dentro de una instancia diferente del Proceso de Host de Servicio. De esa manera, un problema en una instancia no afecta a otras instancias. Este proceso es una parte vital de Windows que no se puede evitar que se ejecute.
Este artículo es parte de nuestra serie en curso que explica varios 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 otros. ¿No sabes qué son esos servicios? Mejor empieza a leer!
Entonces, ¿qué es el proceso de host de servicio?
Aquí está la respuesta, según Microsoft:
Svchost.exe es un nombre de proceso de host genérico para servicios que se ejecutan desde bibliotecas de vínculos dinámicos.
Pero eso realmente no nos ayuda mucho. Hace algún tiempo, Microsoft comenzó a cambiar gran parte de la funcionalidad de Windows al confiar en los servicios internos de Windows (que se ejecutaban desde archivos EXE) a usar 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 puede iniciar un archivo DLL directamente desde Windows de la misma manera que puede hacerlo con 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 de Host de servicio (svchost.exe).
¿Por qué hay tantos procesos de host de servicio 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 cada servicio individual se ejecutara bajo un proceso de Host de un solo servicio, una falla en un servicio podría potencialmente acabar con todo Windows. En su lugar, están separados.
Los servicios se organizan en grupos lógicos que están relacionados de alguna manera, y luego se crea una única instancia de Host de servicio para hospedar cada grupo. Por ejemplo, un proceso de Host de servicio ejecuta los tres servicios relacionados con el firewall. Otro proceso de Host de servicio podría ejecutar todos los servicios relacionados con la interfaz de usuario, y así sucesivamente. En la imagen a continuación, por ejemplo, puede ver que un proceso de Host de servicio ejecuta varios servicios de red relacionados, mientras que otro ejecuta servicios relacionados con llamadas a procedimientos remotos.
¿Hay algo que yo haga con toda esta información??
Sinceramente, no mucho. En los días de Windows XP (y versiones anteriores), cuando las PC tenían recursos mucho más limitados y los sistemas operativos no estaban tan bien ajustados, a menudo se recomendaba evitar que Windows ejecutara servicios innecesarios. En estos días, ya no recomendamos deshabilitar los servicios. Las PC modernas tienden a cargarse con memoria y procesadores de alta potencia. Agregue eso al 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 realmente ya no tiene mucho impacto.
Dicho esto, si observa que una instancia particular de Host de servicio (o un servicio relacionado) está causando problemas, como el uso excesivo continuo de la CPU o la RAM, puede consultar los servicios específicos involucrados. Eso podría, al menos, darle una idea de dónde comenzar a solucionar problemas. Hay algunas formas de ver exactamente qué servicios están alojados en una instancia particular de Host de servicio. Puede verificar las cosas dentro del Administrador de tareas o usar una excelente aplicación de terceros llamada Process Explorer.
Compruebe los servicios relacionados en el Administrador de tareas
Si está utilizando 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 múltiples 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 de Host de servicio.
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 “Servicios” o incluso buscar en línea para obtener información sobre el servicio..
Si estás usando Windows 7, las cosas son un poco diferentes. El Administrador de tareas de Windows 7 no agrupaba los procesos de la misma manera, ni mostraba nombres de procesos regulares, solo mostraba todas las instancias de "svchost.exe" ejecutándose. Tuvo 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 con el botón derecho en un proceso "svchost.exe" en particular, y luego elija la opción "Ir al servicio".
Esto lo llevará a la pestaña "Servicios", donde se seleccionan todos los servicios que se ejecutan bajo ese proceso "svchost.exe".
Luego, puede ver el nombre completo de cada servicio en la columna "Descripción", por lo que puede elegir deshabilitar el servicio si no quiere que se ejecute o solucionar por qué le está dando problemas..
Compruebe los servicios relacionados utilizando Process Explorer
Microsoft también proporciona una excelente herramienta avanzada para trabajar con procesos como parte de su línea Sysinternals. Solo descargue Process Explorer y ejecútelo. Es una aplicación portátil, por lo que no es necesario instalarla. Process Explorer ofrece todo tipo de funciones avanzadas, y recomendamos encarecidamente leer nuestra guía para comprender Process Explorer para obtener más información..
Sin embargo, para nuestros propósitos aquí, Process Explorer agrupa los servicios relacionados en cada instancia de "svchost.exe". Se enumeran 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 mouse sobre cualquiera de los procesos "svchost.exe" para ver una ventana emergente con todos los servicios relacionados 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 un virus haya reemplazado al verdadero Host de servicio con un ejecutable propio, es muy poco probable. Si desea estar seguro, puede consultar la ubicación del archivo subyacente del proceso. En el Administrador de tareas, haga clic con el botón derecho en cualquier proceso de Host de servicio y elija la opción "Abrir ubicación de archivo".
Si el archivo está almacenado en su carpeta Windows \ System32, puede estar bastante seguro de que no está tratando con un virus.
Dicho esto, si aún desea un poco más de tranquilidad, siempre puede buscar virus utilizando su escáner de virus preferido. Más vale prevenir que curar!