Rendimiento lento o desconexiones (saturación del sistema de archivos 9P)
Al usar Windsurf en WSL (a través de Remote - WSL), el editor puede volverse lento, dejar de responder o desconectarse repetidamente del backend de WSL. Esto suele deberse a que las extensiones realizan una monitorización e indexación de archivos agresivas sobre el sistema de archivos de WSL, lo que satura el protocolo Plan 9 (9P), el puente de sistema de archivos entre Windows y el entorno Linux de WSL. Esto es más probable en repositorios grandes y cuando varios servidores de lenguaje se ejecutan de forma concurrente.Síntomas
- Windsurf se vuelve notablemente lento o con mucho retraso cuando está conectado a WSL
- El editor se desconecta con frecuencia del backend de WSL e intenta reconectarse
- Se producen desconexiones durante el desarrollo activo (por ejemplo, al usar Cascade) y mientras el editor está inactivo
- Windsurf se bloquea o deja de responder, lo que obliga a reiniciar tanto el IDE como WSL (
wsl --shutdown) - El consumo de memoria de WSL aumenta con el tiempo, incluso en sistemas con más de 32 GB de RAM
- Los logs de diagnóstico de WSL muestran un gran número de eventos
P9 Reply_Rlerror(errores de archivo no encontrado) - El rendimiento es normal cuando se usa Windsurf fuera de WSL (por ejemplo, abriendo una carpeta local de Windows)
- Las soluciones habituales (reiniciar WSL, reinstalar Windsurf, aumentar la memoria en
.wslconfig) no resuelven el problema por sí solas
Causa raíz
- Saturar la capacidad del protocolo
- Producir miles de errores de archivo no encontrado (
Reply_Rlerror) - Provocar que la conexión entre Windsurf y el backend de WSL se interrumpa
- Contribuir al aumento de la presión de memoria dentro de WSL con el tiempo
Soluciones
1. Reinstalación limpia del servidor de Windsurf en WSL
2. Minimiza las extensiones instaladas (mayor impacto)
- Abre el panel de Extensiones en Windsurf mientras estás conectado a WSL
- Revisa qué extensiones están instaladas en el entorno WSL (no solo localmente)
- Deshabilita o desinstala las extensiones que no necesitas, especialmente aquellas que realizan monitorización o indexación de archivos de forma intensiva
- Vue (Volar): se ha confirmado que provoca una indexación de archivos excesiva a través del puente 9P, incluso en proyectos que no son de Vue. Desinstalar solo esta extensión ha resuelto las desconexiones para múltiples usuarios.
- Otras extensiones de lenguaje específicas de un framework (Angular, Svelte, etc.) pueden comportarse de forma similar si están instaladas pero no son necesarias para el workspace actual.
3. Optimiza los límites de recursos de WSL
%USERPROFILE%\.wslconfig en tu equipo con Windows (por ejemplo, C:\Users\<YourUser>\.wslconfig) con límites de recursos adecuados para tu sistema:
Diagnóstico
Comprueba los logs de diagnóstico de WSL para errores de 9P
Reply_Rlerror en los logs del sistema de archivos 9P. Miles (o más) suelen indicar que las extensiones o procesos dentro de WSL están generando un número excesivo de solicitudes al sistema de archivos que el puente 9P no es capaz de procesar.
Cuándo usar cada solución
- Minimizar extensiones si tienes muchas extensiones instaladas en WSL que no utilizas activamente, o si migraste tus extensiones desde otro editor. (Cambio de mayor impacto).
- Reinstalación limpia del servidor si el estado del servidor de Windsurf puede estar dañado o desactualizado (por ejemplo, después de una actualización fallida o un bloqueo previo).
- Optimizar
.wslconfigsi WSL está consumiendo recursos excesivos del host, o si no has configurado previamente los límites de recursos. (Mejora general de la estabilidad de WSL).
No se puede conectar a WSL con VPN o software zero-trust
Windsurf no puede conectarse a WSL con el errorCouldn't install vscode server on remote server, install script returned non-zero exit status cuando un VPN o software zero-trust (Twingate, Tailscale, Zscaler, Cloudflare WARP, GlobalProtect, etc.) bloquea el tráfico de red saliente desde WSL.
Síntomas
- Windsurf muestra
Error resolving authority/install script returned non-zero exit statusal conectarse a WSL - WSL funciona correctamente (
wsl -d Ubuntu -- echo hellotiene éxito), perocurlagota el tiempo de espera dentro de WSL - El problema comenzó después de instalar o actualizar un VPN o software zero-trust
Causa raíz
WSL 2 enruta el tráfico a través de una red virtual basada en NAT por defecto. El software VPN y zero-trust a menudo no reenvía el tráfico desde esta red virtual, por lo que la descarga del servidor de Windsurf falla silenciosamente.Solución
1. Habilitar red en modo espejo (mirrored networking)
Edita el archivo de configuración de WSL para habilitar la red en modo espejo (normalmenteC:\Users\<YourUser>\.wslconfig).
Añade lo siguiente:
Nota: Requiere WSL 2.0.0+. Ejecutawsl --versionpara verificar ywsl --updatepara actualizar si es necesario.
2. Alternativa: desconectar temporalmente el VPN
Si no puedes modificar.wslconfig, desconecta tu VPN/ZTNA, deja que Windsurf instale el servidor y luego vuelve a conectarte. Las futuras actualizaciones de Windsurf requerirán acceso a la red desde WSL nuevamente.