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

# Language Server schlägt unter Linux mit „No Space Left on Device“ fehl

> Beheben Sie Startfehler des Linux-Language-Servers, die durch ausgeschöpfte inotify-Watch- bzw. -Instanz-Grenzwerte (ENOSPC) verursacht werden. Enthält Symptome, Diagnosebefehle und sysctl-Anpassungen.

Unter Linux kann der Windsurf Language Server mit einem Fehler fehlschlagen, der **„no space left on device“** enthält, selbst wenn das System noch reichlich freien Speicherplatz auf dem Datenträger hat. Dies wird durch ausgeschöpfte **inotify watch**- bzw. **inotify instance**-Grenzwerte des Linux-Kernels verursacht und nicht durch die tatsächliche Datenträgerbelegung.

Der Language Server verwendet **inotify**, um Dateien in Ihrem Workspace auf Änderungen zu überwachen. Wenn das Kernel-Limit erreicht ist, gibt das System einen `ENOSPC`-Fehler zurück – der üblicherweise als „no space left on device“ ausgegeben wird.

***

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

In den Windsurf-Ausgabe-Logs können Sie Folgendes sehen:

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

Häufig begleitet von Stacktraces, die auf Komponenten wie die folgenden verweisen:

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

Typischerweise zu beobachtendes Verhalten:

* Windsurf öffnet sich ganz normal
* Der Language Server beendet sich unmittelbar nach dem Start
* Vom Language Server abhängige Funktionen (z. B. Cascade, Autocomplete) funktionieren nicht

***

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

<div id="1-check-your-current-inotify-limits">
  ### **1. Überprüfen Sie Ihre aktuellen inotify-Limits**
</div>

Führen Sie die folgenden Befehle aus:

```shell theme={null}
# Maximale Anzahl der inotify-Überwachungen pro Benutzer prüfen
cat /proc/sys/fs/inotify/max_user_watches

# Check the maximum number of inotify instances per user
cat /proc/sys/fs/inotify/max_user_instances
```

Übliche Standardwerte sind **8192** für Watches und **128** für Instanzen. Diese sind für die IDE-Nutzung in großen Workspaces (insbesondere Monorepos) häufig zu niedrig und können zudem durch andere Prozesse weiter reduziert werden, die inotify-Ressourcen verbrauchen (Container, Sync-Tools, andere Editoren, Hintergrunddienste).

<div id="2-check-how-many-inotify-instances-are-currently-in-use">
  ### **2. Überprüfen Sie, wie viele inotify-Instanzen aktuell in Verwendung sind**
</div>

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

Wenn dieser Zähler nahe an deinem `max_user_instances`-Limit liegt oder es überschreitet, können neue inotify-Clients (wie der Sprachserver) möglicherweise nicht initialisiert werden.

***

<div id="solution">
  ## **Lösung**
</div>

Erhöhen Sie die inotify-Grenzwerte. Sie können die Änderungen entweder temporär (bis zum Neustart) oder dauerhaft anwenden.

<div id="temporary-fix-until-reboot">
  ### **Vorübergehender Fix (bis zum Neustart)**
</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">
  ### **Dauerhafte Lösung (bleibt auch nach einem Neustart erhalten)**
</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
```

Nachdem Sie eine der beiden Lösungen angewendet haben, **starten Sie Windsurf neu**. Der Language Server sollte nun erfolgreich starten.

Dies ist eine bekannte Einschränkung unter Linux, die auch andere IDEs und Entwickler-Tools betrifft, die auf File-Watcher angewiesen sind. Wenn Ihre Organisation Systemkonfigurationen zentral verwaltet, bitten Sie Ihr IT-/Infrastrukturteam, diese sysctl-Einstellungen anzuwenden.

***

<div id="when-to-use-which-value">
  ## **Wann welcher Wert verwendet werden sollte**
</div>

* **`fs.inotify.max_user_watches=524288`**\
  Empfohlen für große Repositories oder Monorepos. Jede überwachte Datei bzw. jedes überwachte Verzeichnis verbraucht Kernel-Speicher (oft ca. 1 KB pro Überwachung auf 64-Bit-Systemen), sodass **524288 Überwachungen** ungefähr **\~512 MB** Kernel-Speicher belegen können.
* **`fs.inotify.max_user_instances=1024`**\
  Empfohlen, wenn Sie mehrere Anwendungen ausführen, die inotify-Instanzen erstellen (mehrere IDE-Fenster, Container, Datei-Sync-Tools usw.). Der Standardwert von **128** kann in Entwicklungsumgebungen schnell ausgeschöpft sein.
