WSL2 に割り当てるメモリを減らした
Windows を開発に使ってると、夜中にはめちゃくちゃ重たくなって辛かったので、タスクマネージャーを見てみると Vmmem ってのがメモリを 12GB くらい使っていた。Windows に 16GB しかメモリ乗ってないのに…。 調べてみると、どうやら搭載メモリの 80% を WSL2 が確保するらしく、そのせいで Windows 側がメモリ足りてないっぽくてモッサリするのかなと(最近は 50% になってるらしいが)。
流石に Windows 側で使えるメモリが 4GB しかないと、ブラウザが 1GB とか余裕で持っていくこのご時世では生きていけないので、.wslconfig
に以下のように書いて Windows でメモリを沢山使えるようにした。
[wsl2] memory=6GB swap=0
スワップを 0 にしているのは、メモリが 6GB もあれば充分だろうし、スワップしまくって SSD の寿命とか縮んでもなんかやだなーって思っただけなので、これは書かなくても別に問題はない。 もっとメモリ少なくても良いんじゃないか? という気もしなくもないが、また困ったら減らせばいいやってことで一旦このくらいにしている。
こんな感じに書いて wsl --shutdown
をしてあげればOK。
普通に Windows を再起動でも良いんだけど、私の使ってる ThinkPad がどうやらシャットダウンしてもちゃんとシャットダウンしてないっぽくて、設定が有効にならなかったので wsl --shutdown
を叩いている。