こんにちは!
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で開くことができている状態になります。

コメントを投稿