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

# Le serveur de langage ne démarre pas avec « No Space Left on Device » sous Linux

> Résolvez les échecs de démarrage du serveur de langage sous Linux causés par l'épuisement des limites de points de surveillance ou d'instances inotify (ENOSPC). Inclut les symptômes, les commandes de diagnostic et les correctifs sysctl.

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

***

<div id="symptoms">
  ## **Symptômes**
</div>

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

***

<div id="diagnosis">
  ## **Diagnostic**
</div>

<div id="1-check-your-current-inotify-limits">
  ### **1. Vérifiez vos limites inotify actuelles**
</div>

Exécutez les commandes suivantes :

```shell theme={null}
# 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).

<div id="2-check-how-many-inotify-instances-are-currently-in-use">
  ### **2. Vérifiez le nombre d’instances inotify actuellement utilisées**
</div>

```shell theme={null}
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.

***

<div id="solution">
  ## **Solution**
</div>

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

<div id="temporary-fix-until-reboot">
  ### **Correctif temporaire (jusqu’au redémarrage)**
</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">
  ### **Correctif permanent (persiste après redémarrage)**
</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
```

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

***

<div id="when-to-use-which-value">
  ## **Quand utiliser chaque valeur**
</div>

* **`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.
