> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# El servidor de lenguaje falla con 'No Space Left on Device' en Linux

> Resuelve los fallos de inicio del servidor de lenguaje en Linux causados por agotar los límites de watches o instancias de inotify (ENOSPC). Incluye síntomas, comandos de diagnóstico y correcciones con sysctl.

En Linux, es posible que el servidor de lenguaje de Devin Desktop no se inicie y muestre un error que incluye **"no space left on device"**, incluso cuando el sistema tiene mucho espacio libre en disco. Esto ocurre porque se han agotado los límites de **inotify watch** o **inotify instance** del kernel de Linux, no por el uso real del disco.

El servidor de lenguaje usa **inotify** para supervisar los archivos de tu espacio de trabajo en busca de cambios. Cuando se alcanza el límite del kernel, el sistema devuelve un error `ENOSPC`, que normalmente aparece como "no space left on device."

***

<div id="symptoms">
  ## **Síntomas**
</div>

Puede ver lo siguiente en los logs de salida de Devin Desktop:

```
Language server failed - no space left on device: no space left on device
```

Suele ir acompañado de stack traces que hacen referencia a componentes como:

* `file_watcher`
* `AddTrackedWorkspace`
* `AddDirectoriesRecursive`

Comportamiento que normalmente observarás:

* Devin Desktop se abre con normalidad
* El servidor de lenguaje se cierra inmediatamente después de iniciarse
* Las funcionalidades que dependen del servidor de lenguaje (p. ej., Cascade, autocompletado) no funcionan

***

<div id="diagnosis">
  ## **Diagnóstico**
</div>

<div id="1-check-your-current-inotify-limits">
  ### **1. Verifica los límites actuales de inotify**
</div>

Ejecuta los siguientes comandos:

```shell theme={null}
# Verificar el número máximo de inotify watches por usuario
cat /proc/sys/fs/inotify/max_user_watches

# Verificar el número máximo de instancias de inotify por usuario
cat /proc/sys/fs/inotify/max_user_instances
```

Los valores predeterminados habituales son **8192** para watches y **128** para instancias. A menudo, estos valores son demasiado bajos para usar un IDE en espacios de trabajo grandes (especialmente monorepos) y otros procesos que consumen recursos de inotify (contenedores, herramientas de sincronización, otros editores y servicios en segundo plano) pueden reducirlos aún más.

<div id="2-check-how-many-inotify-instances-are-currently-in-use">
  ### **2. Comprueba cuántas instancias de inotify se están usando actualmente**
</div>

```shell theme={null}
find /proc/*/fd -lname anon_inode:inotify 2>/dev/null | wc -l
```

Si esta cantidad está cerca de tu `max_user_instances` (o lo supera), es posible que los nuevos usuarios de inotify (como el servidor de lenguaje) no puedan inicializarse.

***

<div id="solution">
  ## **Solución**
</div>

Aumenta los límites de inotify. Puedes aplicar los cambios temporalmente (hasta reiniciar el sistema) o de forma permanente.

<div id="temporary-fix-until-reboot">
  ### **Solución temporal (hasta el reinicio)**
</div>

```shell theme={null}
sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl fs.inotify.max_user_instances=1024
```

<div id="permanent-fix-survives-reboot">
  ### **Corrección permanente (persiste tras reiniciar)**
</div>

```shell theme={null}
echo "fs.inotify.max_user_watches=524288" | sudo tee -a /etc/sysctl.conf
echo "fs.inotify.max_user_instances=1024" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
```

Después de aplicar cualquiera de las dos soluciones, **reinicia Devin Desktop**. El servidor de lenguaje debería iniciarse correctamente.

Esta es una limitación bien conocida en Linux que afecta a otros IDE y herramientas de desarrollo que dependen de monitores de archivos. Si tu organización gestiona la configuración del sistema de forma centralizada, pide a tu equipo de TI o infraestructura que aplique estos ajustes de `sysctl`.

***

<div id="when-to-use-which-value">
  ## **Cuándo usar cada valor**
</div>

* **`fs.inotify.max_user_watches=524288`**
  Recomendado para repositorios grandes o monorepos. Cada archivo/directorio monitorizado consume memoria del kernel (a menudo \~1 KB por watch en sistemas de 64 bits), por lo que **524288 watches** pueden usar aproximadamente **\~512 MB** de memoria del kernel.
* **`fs.inotify.max_user_instances=1024`**
  Recomendado si ejecutas múltiples aplicaciones que crean instancias de inotify (múltiples ventanas del IDE, contenedores, herramientas de sincronización de archivos, etc.). El valor predeterminado de **128** puede agotarse rápidamente en entornos de desarrollo.
