🍣
WSL2でDocker DesktopのCPUコア数やメモリを設定する方法
Dockerコンテナの起動時にエラー
exit code 137
メモリ不足でコンテナがOOM Killer(Out of Memory Killer)によって強制終了された
に遭遇した場合、
Docker DesktopのCPUコア数やメモリを設定する
で、対処できることがあるようです。
そこで今回は、WSL2でDocker DesktopのCPUコア数や
メモリを増設する方法について調べましたのでまとめました。
.wslconfigを編集
- ユーザーディレクトリにアクセス。
C:\Users\<ユーザー名>
や
%USERPROFILE%
の直下にあります。
- 「.wslconfig」をメモ帳など、エディタで開き編集
デフォルトでは以下のような設定があります。
[wsl2]
memory=16GB
swap=32GB
processors=4
memory
こちらはWSLの使用メモリ(RAM)で、
必要に応じて任意の数値に変更してください。
swap
メモリ不足の時に使用する
仮想メモリのサイズになります。
processors
こちらはCPUのコア数(プロセス)で、
こちらも必要に応じて変更してください。
- 変更した設定を反映させる
メモリを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