🍣

WSL2でDocker DesktopのCPUコア数やメモリを設定する方法

2025/01/18に公開

Dockerコンテナの起動時にエラー
exit code 137 
メモリ不足でコンテナがOOM Killer(Out of Memory Killer)によって強制終了された

に遭遇した場合、

Docker DesktopのCPUコア数やメモリを設定する
で、対処できることがあるようです。

そこで今回は、WSL2でDocker DesktopのCPUコア数や
メモリを増設する方法について調べましたのでまとめました。

.wslconfigを編集

  1. ユーザーディレクトリにアクセス。
C:\Users\<ユーザー名>

%USERPROFILE%

の直下にあります。

  1. 「.wslconfig」をメモ帳など、エディタで開き編集
    デフォルトでは以下のような設定があります。
[wsl2]
memory=16GB
swap=32GB
processors=4

memory

こちらはWSLの使用メモリ(RAM)で、
必要に応じて任意の数値に変更してください。

swap

メモリ不足の時に使用する
仮想メモリのサイズになります。

processors

こちらはCPUのコア数(プロセス)で、
こちらも必要に応じて変更してください。

  1. 変更した設定を反映させる
    メモリを8GB→16GBに変更した場合の例です。

「.wslconfig」を更新後、PowerShellを開いて、

PowerShell
PS C:\Users\xxxx> wsl
hoge@huge:/mnt/c/Users/xxxx$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7.8Gi       672Mi       6.9Gi       3.0Mi       480Mi       7.1Gi
Swap:           32Gi          0B        32Gi

この段階だと、まだメモリは8GBの設定が続いています。
そこで、

PowerShell
hoge@huge:/mnt/c/Users/xxxx$ exit
logout
PS C:\Users\xxxx> wsl --shutdown
PS C:\Users\xxxx> wsl
hoge@huge:/mnt/c/Users/xxxx$ free -h
               total        used        free      shared  buff/cache   available
Mem:            15Gi       704Mi        14Gi       3.0Mi       482Mi        14Gi
Swap:           32Gi          0B        32Gi

上記のように、一度「wsl --shutdown」
を実行しないと、設定が反映されないので注意してください。

まとめ

今回は、WSL2でDocker DesktopのCPUコア数やメモリを設定する方法をまとめました。
「exit code 137」の対策として実行しましたが、
今回、私が遭遇したエラーは
原因が他のところにあったとさ

今回の設定について、
お役に立てば幸いです。

最後までご覧いただきありがとうございました!

Discussion