WSLの開発環境を高速にする方法

WSLの開発環境を高速にする方法

こんにちは!

Windowsユーザーであれば、開発環境にWSL(Windows Subsystem for Linux)を使っている方も多いと思います。

その中で、今回WSLの開発環境が重くて困っている方向けに、その解消方法を書いていこうと思います。すでにWSLでの開発経験がそれなりにある人からすると、今回は当たり前の話になってしまうかもしれません。

自分は今年から初めてWindowsで開発を始めたのですが、当初からWSLの開発環境が激重で困っていました。具体的には、1つの画面表示に3-5秒ほどかかっている場合があり、ページ遷移が非常に重たくなっていました。

今回はこちらの解消方法がわかったので共有します。

以下は記事の要約です。

  • WSLが重たい原因:同期のためにLinux側からWindows側のファイルシステムを読み書きしているから。
  • 解決策:mnt配下にプロジェクトのソースコードを置かないようにすればOKです。

激重の原因

まず、WSLが重たい原因ですが、同期のためにLinux側からWindows側のファイルシステムを読み書きしているからでした。

WSLを使う際デフォルトで/mnt/c/Users/{ユーザー名}のディレクトリを使っているかと思います。そもそものWSLの仕組みとして、/mnt配下のディレクトリはWindows側のファイルシステムにマウントすることで、同期をしながらファイルのやり取りを行っています。この同期のやり取りの際に「9Pプロトコル」を使って両者のファイルシステムの翻訳を行っており、その時間がそれなりにかかっているため、動作が重くなっていたようです。

解決策

解決策としては、非常に簡単でmnt配下にプロジェクトのソースコードを置かないようにすればOKです

例えば、以下のようにホームディレクトリに専用のディレクトリを作成して、git cloneするなどしてプロジェクトを移しましょう。

$ cd ~
$ mkdir projects && cd projects
$ git clone {ソースコードのURL}

こうすると、自動的に同期を取らなくなるため、動作が非常に軽くなるはずです。

また、VSCodeを使っている方はWSLの拡張機能を導入しておくとよいと思います。VSCodeの拡張機能のタブから「WSL」で検索すると出てくると思います。

あとは、WSLの中でcode .を実行すればよいです。

$ code .

VSCodeが開かれて、左下に「WSL: Ubuntu-24.04」などの表示が出ていれば成功です。これでWSL側のソースコードをVSCodeで開くことができている状態になります。