症状
- WSL に接続しているとき、Windsurf の動作が明らかに遅い、またはカクつく
- エディタが頻繁に WSL バックエンドから切断され、再接続を試みる
- 切断は、(Cascade を使用しているときなどの)アクティブな開発中 および エディタがアイドル状態のときの両方で発生する
- Windsurf がクラッシュしたり応答しなくなり、IDE と WSL(
wsl --shutdown)の両方を再起動する必要がある - 32 GB 以上の RAM を搭載したシステムでも、時間の経過とともに WSL のメモリ使用量が増加していく
- WSL の診断ログに、大量の
P9 Reply_Rlerrorイベント(ファイルが見つからないエラー)が記録される - WSL の外で Windsurf を使用している場合(例: ローカルの Windows フォルダを開く)、パフォーマンスは正常である
- 一般的な回避策(WSL の再起動、Windsurf の再インストール、
.wslconfigのメモリ増量)だけでは問題が解決しない
根本原因
- プロトコルの処理能力が飽和する
- 数千件規模の「ファイルが見つからない」エラー (
Reply_Rlerror) が発生する - Windsurf と WSL バックエンド間の接続が切断される
- 時間の経過とともに WSL 内でメモリプレッシャーが増大する一因となる
解決方法
1. WSL 内での Windsurf サーバーのクリーン再インストール
2. インストールする拡張機能を最小限にする(効果大)
- WSL に接続した状態で Windsurf の Extensions パネルを開く
- WSL 環境にインストールされている拡張機能(ローカル側ではなく)を確認する
- 不要な拡張機能を無効化またはアンインストールする — 特に重いファイル監視やインデックス作成を行うもの
- Vue (Volar) — 非 Vue プロジェクトでも、9P ブリッジ越しに過剰なファイルインデックス作成を引き起こすことが確認されています。この拡張機能をアンインストールするだけで、複数ユーザーの切断問題が解消されています。
- その他のフレームワーク固有の言語拡張機能(Angular、Svelte など)も、現在のワークスペースで不要なのにインストールされている場合、同様の挙動をする可能性があります。
3. WSL のリソース制限を最適化する
%USERPROFILE%\.wslconfig ファイル(例: C:\Users\<YourUser>\.wslconfig)を作成または編集し、システムに適したリソース制限を設定します。
診断
9P エラーの WSL 診断ログを確認する
Reply_Rlerror イベントが高頻度で発生していないか確認してください。数千件(またはそれ以上)のイベントが記録されている場合、WSL 内の拡張機能やプロセスが過剰なファイルシステム要求を発行しており、9P ブリッジがそれに追いつけていない可能性があります。
どの対処法をいつ使うか
- WSL に多数の拡張機能をインストールしていて実際にはあまり使っていない場合、または別のエディタから拡張機能を移行してきた場合は、拡張機能を最小限に抑えます(最も効果の高い変更です)。
- サーバーのクリーン再インストールは、Windsurf サーバーの状態が破損している、または古くなっている可能性がある場合(例:アップデートの失敗や過去のクラッシュ後など)に実行します。
.wslconfigの最適化は、WSL がホストのリソースを過剰に消費している場合、またはこれまでリソース制限を設定していない場合に行います(WSL 全体の安定性向上につながります)。