メインコンテンツへスキップ

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.

Linux では、システムに十分な空きディスク容量がある場合でも、Devin Desktop の 言語サーバー が “no space left on device” を含むエラーで起動しないことがあります。これは実際のディスク使用量が原因ではなく、Linux カーネルの inotify watch または inotify instance の上限に達しているためです。 言語サーバー は、ワークスペース内のファイルの変更を監視するために inotify を利用します。カーネルの上限に達すると、システムは ENOSPC エラーを返し、一般には “no space left on device” として表示されます。

症状

Devin Desktop の出力ログに、次のような内容が表示されることがあります:
Language server failed - no space left on device: no space left on device
多くの場合、次のようなコンポーネントを参照するスタックトレースを伴います。
  • file_watcher
  • AddTrackedWorkspace
  • AddDirectoriesRecursive
通常は、次のような挙動が見られます。
  • Devin Desktop は通常どおり起動する
  • 言語サーバーは起動直後に終了する
  • 言語サーバーに依存する機能 (例: Cascade、オートコンプリート) が動作しない

診断

1. 現在の inotify の上限を確認する

次のコマンドを実行します:
# ユーザーごとの inotify ウォッチの最大数を確認する
cat /proc/sys/fs/inotify/max_user_watches

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

2. 現在利用中の inotify インスタンス数を確認する

find /proc/*/fd -lname anon_inode:inotify 2>/dev/null | wc -l
この数が max_user_instances に近い、またはそれを超えている場合、inotify を新たに利用するもの (言語サーバーなど) は初期化に失敗することがあります。

解決策

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

一時的な対処法 (再起動まで有効)

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

恒久的な対処法 (再起動後も有効)

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 設定を適用してもらってください。

どの値を使うべきか

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