🐧

「VmmemWSL」のディスク使用率が100%でPCがフリーズした話

2024/09/06に公開

発生した問題

WSL+vscodeで開発していたところ、PCがフリーズするという問題が発生しました。
タスクマネージャーで確認してみると、VmmemWSLのディスク使用量が100%に...

追記

https://zenn.dev/quantum/articles/b29722e8795335
VmmemWSLがメモリを大量消費している場合は、こちらの記事が参考になるかも!

実行環境

windows 10.0.22631.4037
WSL 2.2.4.0

解決策

https://github.com/microsoft/WSL/issues/9383
こちらのgithubのissueを参考にWSLのリソース制限を設定してみたところ、解決することができたので共有します!

  1. .wslconfigファイルの作成
PS C:\Users\myname\.wslconfig

mynameの部分は各々のWindowsのユーザー名になります。このディレクトリの配下に.wslconfigファイルを作成します。

  1. .wslconfigファイルの中身を編集
    お好きなエディタで(メモ帳でも、vscodeでも)、中身を以下のようにしてください。
.wslconfig
[wsl2]
memory=10GB
processors=6
swap=4GB
kernelCommandLine="sysctl.vm.swappiness=10"

ちなみに、それぞれのkeyは以下のような役割をしています。

key 役割
memory WSL2で利用できるメモリ量を指定
processors WSL2が利用するCPUコアの数を指定
swap スワップ領域のサイズを指定
kernelCommandLine sysctl.vm.swappinessは、スワップの使用頻度を制御するパラメータ

https://learn.microsoft.com/ja-jp/windows/wsl/wsl-config#wslconfig

  1. 変更を保存して、WSLの再起動

最後に変更を保存して以下のコマンドでWSLをシャットダウンします。

PowerShell
wsl --shutdown

再度WSLターミナルを開くことで、自動的にWSLが再起動されます!

最後に

いかがでしたでしょうか。同じような問題が起きた方の助けになれば幸いです✨

Discussion