¿Qué es el proceso de Service Host (svchost.exe) y por qué se ejecutan tantos?

Quien soy
Aina Martin
@ainamartin
Autor y referencias

¿Qué es el proceso de Service Host (svchost.exe) y por qué se ejecutan tantos? Si alguna vez ha abierto el Administrador de tareas, es posible que se haya preguntado por qué se están ejecutando tantos procesos del Servicio de host. No puedes cerrarlos y ciertamente no los iniciaste. Entonces, ¿qué son?


Los procesos de Service Host actúan como un shell para cargar servicios desde archivos DLL. Los servicios están organizados en grupos relacionados y cada grupo se ejecuta dentro de una instancia diferente del proceso de servicio de host. De esta forma, 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.



1. Entonces, ¿cuál es el proceso de Service Host (svchost.exe)??

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

¿Qué es el proceso de host de servicio (svchost.exe)? 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 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 ejecutaban desde archivos EXE) a usar archivos DLL. Desde el punto de vista de la programación, esto hace que el código sea más reutilizable y probablemente más fácil de actualizar. El problema es que no puede iniciar un archivo DLL directamente desde Windows de la misma manera que puede ejecutar 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 Service Host (svchost.exe).


2. ¿Por qué hay tantos hosts de servicio en ejecución?

Si alguna vez miró la sección Servicios en el Panel de control, probablemente haya notado que Windows requiere muchos servicios. Si todos los servicios se ejecutan en un solo proceso de Host de servicio, una falla en un servicio podría apagar todo el sistema de Windows. En cambio, están separados.



Los servicios están organizados en grupos lógicos que están todos relacionados de alguna manera, por lo que se crea una sola instancia del host del servicio para alojar cada grupo. Por ejemplo, un proceso de Service Host ejecuta los tres servicios relacionados con el cortafuegos. Otro proceso de Host de servicio podría estar ejecutando todos los servicios relacionados con la interfaz de usuario, y así sucesivamente.

En los días de Windows XP (y anteriores), cuando las PC tenían recursos mucho más limitados y los sistemas operativos no estaban tan optimizados, a menudo se recomendaba dejar de ejecutar servicios innecesarios para Windows. Hoy en día, ya no recomendamos desactivar los servicios. Las PC modernas tienden a estar cargadas con memoria y procesadores de alta potencia. Agregue eso al hecho de que la forma en que se administran los servicios de Windows en las versiones modernas (y qué servicios se ejecutan) se ha simplificado, y eliminar los servicios que cree que realmente no necesita ya no tiene ningún impacto.


Dicho esto, si nota que una instancia particular de Service Host, o un servicio relacionado, está causando problemas, como el uso excesivo continuo de CPU o RAM, puede verificar los servicios específicos involucrados. Esto al menos podría darle una idea de por dónde empezar con la resolución de problemas. Hay algunas formas de ver exactamente qué servicios están alojados en una instancia de Host de servicio en particular. Puede verificar dentro del Administrador de tareas o usando una excelente aplicación de terceros llamada Process Explorer.

3. Echa un vistazo a 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 aloja varios servicios, puede ver esos servicios simplemente expandiendo el proceso. Esto facilita la identificación de los servicios que pertenecen a cada instancia del proceso Service Host.



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


Si está usando Windows 7, las cosas son un poco diferentes. El Administrador de tareas de Windows 7 no agrupó los procesos de la misma manera, ni mostró nombres de procesos regulares, sino que solo mostró todas las instancias en ejecución de "svchost.exe". Tomó un poco de exploración determinar los servicios relacionados con una 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, luego elija la opción "Ir al servicio".

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

Luego 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 ejecutarlo o corregir por qué le está dando problemas.

4. Verifique los servicios relacionados a través de Process Explorer

Microsoft también proporciona una excelente herramienta avanzada para trabajar con procesos como parte de su gama Sysinternals. Descargue Process Explorer y ejecútelo; es una aplicación portátil, por lo que no necesita instalarla. Process Explorer ofrece todo tipo de funciones avanzadas.


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 pasar el puntero del mouse sobre uno 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.


¿Es posible que el proceso Service Host (svchost.exe) sea un virus?

El proceso en sí es un componente oficial de Windows. Si bien es posible que un virus haya reemplazado el Service Host real con su propio ejecutable, es muy poco probable. Si quiere estar seguro, puede verificar 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 ruta de archivo".

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


Añade un comentario de ¿Qué es el proceso de Service Host (svchost.exe) y por qué se ejecutan tantos?
¡Comentario enviado con éxito! Lo revisaremos en las próximas horas.