文系学生エンジニアのJonyTaskです
こちらの記事では、Vmmem、DockerDesktopの使用できるメモリを制限したら、動かなくなることがあり、そちらについて話したいと思います。
Vmmem、DockerDesktopBackendのメモリ消費が凄い
私は現在、Windows11を使用していますが、最近調子が悪く、タスクマネージャーを閲覧したところ、
DockerDesktop メモリ消費約2GB
Vmmem メモリ消費1GB弱
死ぬほど消費しており、そのためメモリ消費を制限しようと思いました。
.wslconfigによる制御
メモリ消費の制御方法は.wslconfigファイルに書き込むことが最も直接的らしいです。
[WSL2]
memory=500MB
.wslconfigファイルですが、「C:\Users\ユーザ名」このパスに配置しなければいけないらしいです。
使用されるメモリの上限が500MBになるように記述し、
DockerDesktopの設定→Resources→Advanced
こちらの箇所に、「Disk image location」とあります。
「Browse」から先ほどのディレクトリを指定し、「Apply&start」をクリック
すると、全く動かない!
DockerDesktopでEngineは起動せず、VSCode上でUbuntu内にあるプロジェクトファイルを開くことができず、本当にこの世の終わりかと思いました。
メモリを制限し過ぎたのではないかと思い、
[WSL2]
memory=1GB
制限を500MBから1GBに緩和したところ、動くようになりました!
どうやらあまりにもメモリを制限し過ぎるとダメらしいですね
正直細かい原因は分かりませんが(笑)、メモリを制限し過ぎるとLinux自体が動かなくなると覚えていただけるといいでしょう!