Pular para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt

Use this file to discover all available pages before exploring further.

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

Sintomas

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

Diagnóstico

1. Verifique os limites atuais do inotify

Execute os comandos a seguir:
# 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).

2. Verifique quantas instâncias do inotify estão em uso no momento

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.

Solução

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

Correção temporária (até a reinicialização)

sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl fs.inotify.max_user_instances=1024

Correção permanente (persiste após a reinicialização)

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.

Quando usar cada valor

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