このページの本文へ

前へ 1 2 次へ

Windows Info 第199回

Windows Subsystem for Linux 2のメモリ管理を詳しく見る

2019年11月24日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

メモリを大量に使い、その後に戻してみる

 では、次に、メモリを大量に確保したあとに開放して、Win32側にメモリがもどされるかどうかを確認してみる。テストには、Ubuntu-18.04を用いた。メモリを消費させる方法にはいくつかあるが、ここでは、stressというコマンドをインストールして使う。インストール方法は、WSL2のコマンドラインから以下のコマンドを使う(Ubuntuの場合)。

sudo apt update
sudo apt install stress

 実際にインストールするのは2行目のコマンドである。1行目はやる必要がないとわかっているならやらなくてもよい。蛇足ながら1行目は、その意味がわからない人がエラーを起こさないように入れてある。これでstressコマンドが利用できるようになる。このコマンドはシステムに負荷を掛けてテストをするためのものである。たとえば、メモリを1GB確保させたいなら、

stress --vm 1 --vm-bytes 1G --vm-keep

とする。コマンドラインの意味としては、プロセス1つ(--vm 1)に1GBのメモリを確保(--vm-bytes 1G)して、開放せずにそのままにする(--vm-keep)という意味になる。

 詳しくはmanコマンドなどを参照されたい。このコマンドを起動すると、プロセスを強制終了するまで、1GBのメモリが確保されたままになる。なお、プロセスを終了させるにはkillコマンドを使う。

 今回は、6GBを実装メモリとして認識しているWSL2に対して、4GBを確保してみる。stressコマンドでメモリを確保し、WSL2側、Win32側からメモリ利用量を測定したのが、以下の画面である。

WSL2内でstressによりメモリを消費させると、Win32側のvmmemプロセスがメモリを確保するのをtasklistコマンドで見ることができるほか、タスクマネージャーのメモリ利用量が増える。また、WSL2内でも、freeコマンドでusedになるメモリ量が増える

 コマンド「stress --vm 4 --vm-bytes 1G --vm-keep &」として、4GBを確保すると、WSL2のfreeコマンドのusedの値が上がり、Win32のtasklistコマンドでvmmemのメモリ使用量が増大する。あわせて、タスクマネージャーのメモリ利用量が増える。

 その後、バックグラウンドで起動したstressコマンドをkillコマンドで停止させると、メモリが開放され、タスクマネージャーを見ると、Win32側でもメモリ利用量が減るのがわかる。

stressコマンドをkillコマンドで終了させると、メモリが開放され、Win32側のvmmemがメモリを開放し、タスクマネージャーのグラフも元に戻る

 このように、WSL2は一時的にメモリを大量に確保しても、そのあとWin32側にちゃんと戻すことができるようなので、長時間のWSL2利用も問題はなさそうだ。もっとも、これまでメモリを戻すことができなかったのは開発途上だったからだ。

 Win32側では、WSL2のメモリイメージは、vmmemというプロセスとして見える。つまりWSL2側でメモリを使うとき、vmmemがWin32側でメモリを確保していく。WSL2でメモリが開放されると、vmmemが確保していたメモリ領域を開放する。

 この仕組みは、Linux側のメモリコンパクション(メモリ圧縮)とLWUVMの協調動作として実現される。Linux側では、不要なメモリ領域を集めて連続するページを作るメモリコンパクション機能がある。このメモリコンパクションは、分断されたページの中で、隣合う空きページをつなげて大きな領域とし、その後、移動可能な利用中のページと空きページを入れ替えながら、連続する空きページの領域を大きくしていく。

 Linux内では仮想記憶が動作しているが、DMAを使うネットワークのバッファなどは、物理的に連続している必要がある。また、小さなページを大量に使うと、仮想アドレスを高速に物理アドレスに変換するTLB(Translation Lookaside Buffer)を大量に消費し、効率が悪くなる。Linuxでは、連続する複数の4Kページをまとめて1つのHuge Pageとして管理し、1つのTLBエントリーで複数ページをまとめて示せるようになっている。そのため、空き領域を連続して確保できるようになっている必要があり、メモリコンパクションをする。

 本来は、メモリ領域の分割状態などを見てメモリコンパクションを起動するが、WSL2では、アイドル状態が一定以上続いたら、強制的にメモリコンパクションを起動しているようだ。

 なお、Linuxでは、rootユーザーで/proc/sys/vm/compact_memoryに「1」を書き込むと強制的にメモリコンパクション処理が実行される(これはLinuxの標準の機能)。この動作に関しては、前述の.wslconfigで設定が可能だ。

 “pageReporting”キーワードは、空きページが存在することをLWUVMのハイパーバイザー(Hyper-V)側に通知する機能のオンオフで、これをtureとすることで、WSL2は空きページの集まりをHyper-Vに通知して、Win32側に返却させることができる。“idleThreshold”は、前述のメモリコンパクションを起動するアイドル時間の閾値で、デフォルトは1秒であり、この値を0にすると、メモリ圧縮をアイドル時に実行しなくなる。

 このメモリコンパクションの動作は、カーネルのメッセージを表示するdmesgで確認できる。強制的にメモリコンパクションが起動すると「WSL2: Performing momory compaction.」というメッセージが記録される。

WSL2側で強制的に起動されるメモリコンパクションは、dmesgでメッセージとして見ることができる

前へ 1 2 次へ

カテゴリートップへ

この連載の記事
1
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
¥26,880
2
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥36,979
3
Lenovo Chromebook クロームブック IdeaPad Flex 3i Gen8 12.2インチ インテル® プロセッサー N100搭載 メモリ4GB eMMC 64GB バッテリー駆動12.0時間 重量1.25kg アビスブルー 82XH001KJP
Lenovo Chromebook クロームブック IdeaPad Flex 3i Gen8 12.2インチ インテル® プロセッサー N100搭載 メモリ4GB eMMC 64GB バッテリー駆動12.0時間 重量1.25kg アビスブルー 82XH001KJP
¥39,800
4
【整備済み品】富士 通 2in1ノートパソコン V727【本体のみ】/第7世代Core M3/12.3型タッチパネル1920×1080/メモリ 8GB/SSD 128GB/Win 11/MS Office 2019/USB 3.1/Type-C/無線WIFI/オーディオ内蔵/WEBカメラ/初期設定済
【整備済み品】富士 通 2in1ノートパソコン V727【本体のみ】/第7世代Core M3/12.3型タッチパネル1920×1080/メモリ 8GB/SSD 128GB/Win 11/MS Office 2019/USB 3.1/Type-C/無線WIFI/オーディオ内蔵/WEBカメラ/初期設定済
¥9,600
5
HP ノートパソコン 15-fd 15.6インチ インテル Core Ultra 5 125H メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 WPS Office搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M7PA-AAAF)
HP ノートパソコン 15-fd 15.6インチ インテル Core Ultra 5 125H メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 WPS Office搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M7PA-AAAF)
¥134,323

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥1,880
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890
3
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
¥980
4
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
5
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
6
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥5,280
7
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
8
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
¥1,980
9
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥5,545
10
【Amazon.co.jp限定】 ロジクール ワイヤレスマウス 無線 マウス M185CG 小型 電池寿命最大12ケ月 M185 グレー 国内正規品
【Amazon.co.jp限定】 ロジクール ワイヤレスマウス 無線 マウス M185CG 小型 電池寿命最大12ケ月 M185 グレー 国内正規品
¥999

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン