JBeExJBeEx

Qué es svchost.exe y por qué hay tantos procesos

Qué es svchost.exe y por qué hay tantos procesos

Si alguna vez has abierto el Administrador de tareas y has visto decenas de entradas llamadas svchost.exe o Host de servicio, es probable que te hayas preguntado qué son, si es un virus o por qué hay tantas. En este artículo te explicamos qué es svchost.exe, por qué es imprescindible para Windows, cómo saber qué servicios aloja cada instancia y cómo distinguir un comportamiento normal de uno malicioso.

Qué es svchost.exe

svchost.exe (Service Host, Host de servicio) es un proceso legítimo y esencial de Windows. Su función es hacer de contenedor para los servicios de Windows que están programados como archivos DLL y no como ejecutables independientes. Una DLL no puede ejecutarse sola, así que svchost.exe la carga y la mantiene en marcha.

Microsoft introdujo este mecanismo en Windows 2000 para agrupar varios servicios en un mismo proceso y ahorrar memoria y recursos. En lugar de tener un proceso por cada pequeño servicio, varios servicios compartían una sola instancia de svchost.exe.

Ubicación de svchost.exe y cómo saber si es legítimo

El archivo legítimo solo está en estas carpetas:

  • C:\Windows\System32\svchost.exe, en todas las versiones desde Windows XP hasta Windows 11.
  • C:\Windows\SysWOW64\svchost.exe, en Windows de 64 bits (la versión de 32 bits).
  • C:\WINNT\System32\svchost.exe, en Windows 2000.

Cuidado: si encuentras un svchost.exe en cualquier otra carpeta (C:\Windows\Temp, C:\Users\..., AppData…) o un archivo con un nombre parecido como svhost.exe, svch0st.exe o scvhost.exe, es casi seguro que se trata de malware disfrazado.

Para comprobarlo:

  1. En el Administrador de tareas, haz clic derecho sobre el proceso y elige Abrir ubicación del archivo. Debe llevarte a System32 o SysWOW64.
  2. En las Propiedades del archivo, en la pestaña Firmas digitales, el firmante debe ser Microsoft Windows.

Por qué hay tantos procesos svchost.exe

Los servicios que se ejecutan dentro de svchost.exe se organizan en grupos, definidos en esta clave del registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost

Cada valor de esa clave (netsvcs, LocalService, NetworkService, LocalServiceNetworkRestricted…) es un grupo. Tradicionalmente, cada grupo se ejecutaba en su propia instancia de svchost.exe, lo que aporta varias ventajas:

  • Aislamiento: si un servicio falla, no arrastra a los de otros grupos.
  • Seguridad: cada grupo puede ejecutarse con permisos distintos (Sistema local, Servicio de red o Servicio local).

El cambio de Windows 10 y Windows 11

Desde la versión 1703 de Windows 10, si el equipo tiene más de 3,5 GB de RAM, Windows ya no agrupa los servicios: ejecuta cada servicio en su propio proceso svchost.exe. Así un fallo afecta solo a ese servicio, es más fácil saber cuál da problemas y mejora la seguridad.

Por eso en Windows 10 y Windows 11 es completamente normal ver 50, 70 o más instancias de svchost.exe. En equipos con menos memoria, Windows sigue agrupándolos como antes y verás bastantes menos.

Cómo saber qué servicios hay dentro de cada svchost.exe

Con el Administrador de tareas

  • En la pestaña Procesos, cada instancia aparece como Host de servicio: nombre del servicio. Despliégala con la flecha para ver el servicio o los servicios que contiene.
  • En la pestaña Servicios, la columna PID indica en qué proceso se ejecuta cada servicio. Puedes hacer clic derecho sobre un servicio y elegir Ir a detalles para ver su svchost.exe.

Con tasklist

  1. Abre el Símbolo del sistema como administrador.
  2. Ejecuta este comando para ver solo los procesos svchost.exe y sus servicios:
tasklist /svc /fi "imagename eq svchost.exe"

En la columna Servicios verás el nombre interno de cada servicio, y en la columna PID, el identificador del proceso.

Con PowerShell

Para listar los servicios que se ejecutan dentro de svchost.exe junto con el PID de su proceso:

Get-CimInstance Win32_Service | Where-Object { $_.ProcessId -in (Get-Process svchost).Id } | Sort-Object ProcessId | Format-Table ProcessId, Name, DisplayName -AutoSize

Consejo: Process Explorer, de Microsoft Sysinternals, muestra los servicios de cada svchost.exe con solo pasar el cursor por encima del proceso.

Consumo de recursos de svchost.exe: qué es normal

Memoria RAM

Depende de los servicios que aloje cada instancia. La mayoría ocupan pocos megas, y algunas, como la de Windows Update o la de la caché de fuentes, pueden ocupar bastante más de forma puntual. Con decenas de instancias, la suma total puede superar fácilmente los cientos de megas, y es normal.

Uso de CPU

En reposo, el uso de CPU de svchost.exe debe ser prácticamente 0 %. Es normal que suba durante un rato con tareas como:

  • Windows Update, al buscar, descargar o instalar actualizaciones.
  • Los análisis programados de Microsoft Defender.
  • La indexación de búsqueda y las tareas de mantenimiento automático.
  • Cambios de red, como conectarse a una nueva red WiFi.

Importante: si una instancia mantiene un uso de CPU muy alto de forma constante y no hay ninguna tarea en marcha, hay un problema. Puede ser desde un servicio atascado hasta un malware.

svchost.exe y el firewall: puertos de red

Muchos servicios de red de Windows se ejecutan dentro de svchost.exe, así que es normal que use la red y tenga puertos abiertos. Algunos habituales:

  • TCP 135: el servicio de llamada a procedimiento remoto (RPC).
  • UDP 68: el cliente DHCP, para obtener la dirección IP del router.
  • UDP 1900: el servicio de detección SSDP (UPnP).
  • UDP 5353 y 5355: la resolución de nombres en la red local (mDNS y LLMNR), del servicio Cliente DNS.

Si usas un firewall de terceros, es normal que svchost.exe pida acceso a la red. Bloquearlo por completo te dejará sin conexión: el equipo no obtendrá IP, no resolverá nombres DNS ni podrá actualizarse.

Permitir las conexiones salientes de svchost.exe es necesario. Bloquear las entrantes no solicitadas desde internet suele ser seguro, pero puede afectar a funciones de la red local como compartir archivos o detectar dispositivos.

Uso alto de CPU en svchost.exe: causas y soluciones

Uno de los problemas más conocidos relacionados con svchost.exe fue el gusano Blaster, en 2003. Aprovechaba una vulnerabilidad del servicio RPC para propagarse y hacía que el svchost.exe que lo alojaba fallara. Windows mostraba entonces un aviso de apagado y se reiniciaba una y otra vez. Esa vulnerabilidad está corregida desde hace muchos años.

Hoy, las causas más habituales de un consumo alto son estas:

Windows Update atascado

Es la causa más frecuente: el servicio de actualizaciones se queda en bucle buscando o descargando.

  1. Ejecuta el solucionador de problemas de Windows Update. En Windows 11 está en Configuración > Sistema > Solucionar problemas > Otros solucionadores de problemas.
  2. Si no se arregla, abre el Símbolo del sistema como administrador y detén los servicios de actualización:
net stop wuauserv
net stop bits
  1. Borra el contenido de la carpeta C:\Windows\SoftwareDistribution.
  2. Vuelve a iniciar los servicios:
net start wuauserv
net start bits

SysMain (antes Superfetch)

Este servicio precarga en memoria las aplicaciones que más usas. En equipos con disco duro mecánico (HDD) lento o con poca RAM a veces provoca mucha actividad de disco. Puedes desactivarlo en services.msc si notas que empeora el rendimiento; en un SSD su beneficio es menor.

Controladores o servicios de terceros defectuosos

Un controlador o un servicio de otro programa que falla puede disparar el consumo de la instancia que lo aloja. Identifica el servicio con alguno de los métodos anteriores y actualiza o desinstala el programa al que pertenece.

Malware

Algunos troyanos inyectan código en procesos legítimos como svchost.exe para ocultarse. Si el consumo no se explica por ningún servicio, analiza el equipo con un antivirus actualizado.

¿Se puede cerrar o eliminar svchost.exe?

No. No finalices svchost.exe desde el Administrador de tareas a no ser que sepas exactamente qué servicio contiene y por qué lo cierras. Y nunca borres el archivo de System32.

Si cierras una instancia crítica (por ejemplo, la que aloja RpcSs, DcomLaunch o PlugPlay), el sistema puede quedarse inestable, mostrar un pantallazo azul o reiniciarse de golpe.

Si un servicio concreto da problemas, detén solo ese servicio:

  1. Identifica su nombre con tasklist /svc o desde el Administrador de tareas.
  2. Detenlo desde services.msc o con este comando como administrador:
net stop "NombreDelServicio"

Mitos y confusiones sobre svchost.exe

  • «Si hay muchos svchost.exe, es un virus». Falso. En Windows 10 y 11 lo normal es tener decenas de instancias.
  • «El archivo pesa muy poco, debe de ser falso». Falso. El svchost.exe legítimo ocupa solo unas decenas de KB, porque su trabajo es únicamente cargar las DLL de los servicios, no ejecutar su lógica.
  • «svchost.exe ocupa mucha RAM, tengo que liberarla». Falso. Windows gestiona la memoria por sí mismo y la libera cuando otro programa la necesita. Cerrar procesos svchost.exe para «liberar RAM» solo causa problemas.

Conclusión

Lejos de ser un proceso sospechoso, svchost.exe es una de las piezas más importantes de Windows. Ver muchas instancias es normal, sobre todo en Windows 10 y 11, donde cada servicio suele tener la suya.

Si notas un consumo anómalo, no des por hecho que es un virus: averigua primero qué servicio contiene la instancia problemática. En la mayoría de los casos es un servicio atascado o una actualización en curso. Desconfía, eso sí, de cualquier svchost.exe que esté fuera de System32 o SysWOW64.