👏
WSLのアップデートでメモリ開放?
え?まじ?
関連記事:
WSL2 2.0.0がこっそリリース
WSL2でvmmem確保メモリを開放する方法
時事はあまりやらないけど。
ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪
------------------- ↓ 本題はここから ↓-------------------
Memory reclamation
WSLのアップデート情報に気になる内容があった
Memory reclamation idle detection, drop_caches.
メモリ再利用のアイドル検出
WSLはメモリを一度確保するとリセットするまで話さない動きをする。
お陰でちょっとメモリを使う処理をするとPCのリソースがなくなってしまう問題がある。
それを開放してくれるとかそういうこと?
ワイの誤訳?
ちょっとわからんけど期待したい。
This memory reclamation is based on idle detection and can drop caches believed to be idle/un-used.
このメモリ再生は、アイドル検出に基づいており、アイドル/未使用と思われるキャッシュを削除することができます。
・・・( ̄  ̄;) うーん、あってる・・・ぽい?
drop_caches
どうやらLinuxのキャッシュをドロップすることでメモリを回復する手段があるらしい
bash
echo 3 > /proc/sys/vm/drop_caches
# または sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
これをシステム本体に組み込んだとかそういうことか。
------------------- ↓ 本題はここから ↓-------------------
とりあえずアップデートしてみよう
wsl自体のバージョンアップでpre-releaseオプションを付ける
ps
wsl --update --pre-release
更新プログラムを確認しています。
Linux 用 Windows サブシステムをバージョンに更新しています: 1.3.11。
wsl --version
WSL バージョン: 1.3.11.0
.wslconfigファイルを調整
(/etc/wsl.conf ではない)
~/.wslconfig
[experimental]
autoMemoryReclaim=true
結果
定量的なものはだせないけど、
一度掴んだら開放しないイメージの vmmmem プロセスが、
アイドル状態のときに少しづつメモリを空けている印象がある。
(緩やかにだけど)
試しにnpmのビルド時のメモリ推移を出してみると、
ビルド完了をピークにメモリ使用量が減っている。
(アプデ前のグラフ出せれば良かったが)
これはいいかもしれん。
Discussion