Passer au contenu principal

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.

Sous Linux, le serveur de langage de Devin Desktop peut ne pas démarrer et afficher une erreur contenant “no space left on device”, même lorsque le système dispose de beaucoup d’espace disque libre. Cela est dû à l’épuisement des limites de points de surveillance inotify ou d’instances inotify du noyau Linux, et non à l’utilisation réelle du disque. Le serveur de langage utilise inotify pour surveiller les fichiers de votre espace de travail et détecter les modifications. Lorsque la limite du noyau est atteinte, le système renvoie une erreur ENOSPC, qui se manifeste souvent par “no space left on device”.

Symptômes

Les éléments suivants peuvent apparaître dans les logs de sortie de Devin Desktop :
Language server failed - no space left on device: no space left on device
Souvent accompagné de traces de pile faisant référence à des composants comme :
  • file_watcher
  • AddTrackedWorkspace
  • AddDirectoriesRecursive
Comportement généralement observé :
  • Devin Desktop s’ouvre normalement
  • Le serveur de langage quitte immédiatement après son démarrage
  • Les fonctionnalités dépendant du serveur de langage (p. ex., Cascade, autocomplétion) ne fonctionnent pas

Diagnostic

1. Vérifiez vos limites inotify actuelles

Exécutez les commandes suivantes :
# Vérifier le nombre maximum de watches inotify par utilisateur
cat /proc/sys/fs/inotify/max_user_watches

# Vérifier le nombre maximum d'instances inotify par utilisateur
cat /proc/sys/fs/inotify/max_user_instances
Les valeurs par défaut habituelles sont de 8192 pour les points de surveillance et de 128 pour les instances. Elles sont souvent trop faibles pour l’usage d’un IDE dans de grands espaces de travail (en particulier les monorepos) et peuvent être encore diminuées par d’autres processus qui consomment des ressources inotify (conteneurs, outils de synchronisation, autres éditeurs, services en arrière-plan).

2. Vérifiez le nombre d’instances inotify actuellement utilisées

find /proc/*/fd -lname anon_inode:inotify 2>/dev/null | wc -l
Si ce nombre est proche de votre max_user_instances (ou le dépasse), de nouveaux utilisateurs d’inotify (comme le serveur de langage) risquent de ne pas pouvoir s’initialiser.

Solution

Augmentez les limites d’inotify. Vous pouvez appliquer ces modifications temporairement (jusqu’au redémarrage) ou de manière permanente.

Correctif temporaire (jusqu’au redémarrage)

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

Correctif permanent (persiste après redémarrage)

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
Après avoir appliqué l’un ou l’autre correctif, redémarrez Devin Desktop. Le serveur de langage devrait démarrer correctement. Il s’agit d’une limitation bien connue sous Linux, qui affecte aussi d’autres IDE et outils de développement s’appuyant sur la surveillance des fichiers. Si votre organisation gère les configurations système de manière centralisée, demandez à votre équipe IT / infra d’appliquer ces paramètres sysctl.

Quand utiliser chaque valeur

  • fs.inotify.max_user_watches=524288 Recommandé pour les grands dépôts ou les monorepos. Chaque fichier/répertoire surveillé consomme de la mémoire du noyau (souvent ~1 Ko par point de surveillance sur les systèmes 64 bits), donc 524288 points de surveillance peuvent utiliser environ ~512 Mo de mémoire du noyau.
  • fs.inotify.max_user_instances=1024 Recommandé si vous exécutez plusieurs applications qui créent des instances inotify (plusieurs fenêtres d’IDE, conteneurs, outils de synchronisation de fichiers, etc.). La valeur par défaut de 128 peut être rapidement épuisée dans les environnements de développement.