> ## 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.

# Servidor de linguagem falha com 'Sem espaço no dispositivo' no Linux

> Resolva falhas na inicialização do servidor de linguagem no Linux causadas pelo esgotamento dos limites de watch/instance do inotify (ENOSPC). Inclui sintomas, comandos de diagnóstico e correções com sysctl.

No Linux, o servidor de linguagem do Devin Desktop pode não iniciar e exibir um erro com **"sem espaço no dispositivo"**, mesmo quando o sistema tem bastante espaço livre em disco. Isso ocorre porque os limites de **watch do inotify** ou de **instâncias do inotify** do kernel do Linux foram esgotados, e não por falta real de espaço em disco.

O servidor de linguagem usa **inotify** para monitorar arquivos no seu workspace em busca de alterações. Quando o limite do kernel é atingido, o sistema retorna um erro `ENOSPC` — que geralmente aparece como "sem espaço no dispositivo".

***

<div id="symptoms">
  ## **Sintomas**
</div>

Você pode ver o seguinte nos logs do Devin Desktop:

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

Frequentemente acompanhado por stack traces que fazem referência a componentes como:

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

Comportamento normalmente observado:

* O Devin Desktop abre normalmente
* O servidor de linguagem é encerrado logo após iniciar
* Recursos que dependem do servidor de linguagem (por exemplo, Cascade e preenchimento automático) não funcionam

***

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

<div id="1-check-your-current-inotify-limits">
  ### **1. Verifique os limites atuais do inotify**
</div>

Execute os comandos a seguir:

```shell theme={null}
# Verifica o número máximo de watches inotify por usuário
cat /proc/sys/fs/inotify/max_user_watches

# Verifica o número máximo de instâncias inotify por usuário
cat /proc/sys/fs/inotify/max_user_instances
```

Os valores padrão mais comuns são **8192** para watches e **128** para instâncias. Esses valores costumam ser baixos demais para o uso de IDEs em workspaces grandes (especialmente monorepos) e podem ser reduzidos ainda mais por outros processos que consomem recursos do inotify (contêineres, ferramentas de sincronização, outros editores e serviços em segundo plano).

<div id="2-check-how-many-inotify-instances-are-currently-in-use">
  ### **2. Verifique quantas instâncias do inotify estão em uso no momento**
</div>

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

Se essa contagem estiver próxima de (ou acima de) `max_user_instances`, novos usuários do inotify (como o servidor de linguagem) talvez não consigam inicializar.

***

<div id="solution">
  ## **Solução**
</div>

Aumente os limites do inotify. Você pode aplicar as alterações temporariamente (até reiniciar) ou de forma permanente.

<div id="temporary-fix-until-reboot">
  ### **Correção temporária (até a reinicialização)**
</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">
  ### **Correção permanente (persiste após a reinicialização)**
</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
```

Depois de aplicar qualquer uma das correções, **reinicie o Devin Desktop**. O servidor de linguagem deve iniciar normalmente.

Esta é uma limitação bem conhecida no Linux que também afeta outros IDEs e ferramentas de desenvolvimento que dependem de watchers de arquivos. Se a sua organização gerencia as configurações do sistema de forma centralizada, peça à equipe de TI / infraestrutura para aplicar estas configurações de `sysctl`.

***

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

* **`fs.inotify.max_user_watches=524288`**
  Recomendado para repositórios grandes ou monorepos. Cada arquivo/diretório monitorado consome memória do kernel (muitas vezes \~1 KB por watch em sistemas de 64 bits), portanto **524288 watches** podem usar cerca de **\~512 MB** de memória do kernel.
* **`fs.inotify.max_user_instances=1024`**
  Recomendado se você executa vários aplicativos que criam instâncias do inotify (várias janelas de IDE, contêineres, ferramentas de sincronização de arquivos etc.). O valor padrão de **128** pode se esgotar rapidamente em ambientes de desenvolvimento.
