Windows 10のWSL2でメモリの再利用が可能になる

S 20191101 194440

Microsoftは先日、Windows 10の最新プレビュービルド「Windows Insider Preview Build 19013」を公開しました。

プレビュー版は、来年の春に公開予定のWindows 10の大型アップデート「20H1」の開発版ビルドですが、変更点の中にWindows Subsystem for Linux 2(WSL2)で Memory Reclamation(メモリの再利用)が可能になった事が含まれており注目を集めています(公式ブログ、Phoronix)。

これまでWSL2では、ホストからVMに割り当てられたメモリは、不要になった場合もホストに返却されることがありませんでした。この挙動が変わり、今後は、WSL2で不要になったメモリがホストに返却されWSL2の全体のメモリサイズが縮小することになります。

Microsoftのブログにはこの動作を検証するデモプログラムが掲載されており、WSL 2内部で大量のメモリを使用した後、WSL2全体のメモリサイズが小さくなっている事が確認できます。

Group 2

この機能は、Linuxゲストで不要になった小さな連続したメモリブロックをホストに返却することができるLinuxカーネルパッチによって実現されているとのこと。ホストにできるだけ多くのメモリを返却するために、メモリを定期的に圧縮して、空きメモリが連続したブロックに配置されるように動作するようです。

圧縮動作はCPUがアイドル状態のときにだけ実行され、dmesgno
「WSL2: Performing memory compaction」というメッセージで確認することができます。また .wslconfigに値を設定することでこの挙動を変更することも可能となっています。

スポンサーリンク