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

# Linux で 言語サーバー が 'No Space Left on Device' により起動しない

> Linux で inotify の watch/instance 制限が上限に達したこと（ENOSPC）が原因で、言語サーバー の起動に失敗する場合の対処法です。症状、診断コマンド、sysctl による修正方法を含みます。

Linux では、システムに十分な空きディスク容量がある場合でも、Devin Desktop の 言語サーバー が **"no space left on device"** を含むエラーで起動しないことがあります。これは実際のディスク使用量が原因ではなく、Linux カーネルの **inotify watch** または **inotify instance** の上限に達しているためです。

言語サーバー は、ワークスペース内のファイルの変更を監視するために **inotify** を利用します。カーネルの上限に達すると、システムは `ENOSPC` エラーを返し、一般には "no space left on device" として表示されます。

***

<div id="symptoms">
  ## **症状**
</div>

Devin Desktop の出力ログに、次のような内容が表示されることがあります：

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

多くの場合、次のようなコンポーネントを参照するスタックトレースを伴います。

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

通常は、次のような挙動が見られます。

* Devin Desktop は通常どおり起動する
* 言語サーバーは起動直後に終了する
* 言語サーバーに依存する機能 (例: Cascade、オートコンプリート) が動作しない

***

<div id="diagnosis">
  ## **診断**
</div>

<div id="1-check-your-current-inotify-limits">
  ### **1. 現在の inotify の上限を確認する**
</div>

次のコマンドを実行します:

```shell theme={null}
# ユーザーごとの inotify ウォッチの最大数を確認する
cat /proc/sys/fs/inotify/max_user_watches

# ユーザーごとの inotify インスタンスの最大数を確認する
cat /proc/sys/fs/inotify/max_user_instances
```

一般的なデフォルト値は、watch が **8192**、instance が **128** です。これらの値は、大規模なワークスペース (特にモノレポ) で IDE を使用するには低すぎることが多く、さらに inotify リソースを消費する他のプロセス (コンテナ、同期ツール、別のエディタ、バックグラウンドサービスなど) の影響で、実際に使える数が減ることもあります。

<div id="2-check-how-many-inotify-instances-are-currently-in-use">
  ### **2. 現在利用中の inotify インスタンス数を確認する**
</div>

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

この数が `max_user_instances` に近い、またはそれを超えている場合、inotify を新たに利用するもの (言語サーバーなど) は初期化に失敗することがあります。

***

<div id="solution">
  ## **解決策**
</div>

inotify の上限を引き上げます。変更は一時的に (再起動まで) 適用することも、恒久的に適用することもできます。

<div id="temporary-fix-until-reboot">
  ### **一時的な対処法 (再起動まで有効) **
</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">
  ### **恒久的な対処法 (再起動後も有効) **
</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
```

いずれかの対処法を適用したら、**Devin Desktop を再起動**してください。言語サーバーは正常に起動するはずです。

これは Linux で広く知られている制限で、ファイルウォッチャーに依存する他の IDE や開発ツールにも影響します。システム構成を組織で一元管理している場合は、IT / インフラチームに依頼して、これらの `sysctl` 設定を適用してもらってください。

***

<div id="when-to-use-which-value">
  ## **どの値を使うべきか**
</div>

* **`fs.inotify.max_user_watches=524288`**
  大規模なリポジトリやモノレポに推奨されます。監視対象の各ファイル/ディレクトリはカーネルメモリを消費するため (64 ビットシステムでは通常、監視 1 件あたり \~1 KB) 、**524288 watches** を設定すると、カーネルメモリをおよそ **\~512 MB** 使用する可能性があります。
* **`fs.inotify.max_user_instances=1024`**
  inotify インスタンスを作成するアプリケーション (複数の IDE ウィンドウ、コンテナ、ファイル同期ツールなど) を複数実行する場合に推奨されます。開発環境では、既定値の **128** ではすぐに上限に達することがあります。
