Hyper-V 2.0 Dynamic Memory 機能の概要
みなさん、こんにちは。今回はのWindows Server 2008 R2 SP1で提供される、ダイナミックメモリ機能を紹介します。
ダイナミックメモリは、Hyper-V 2.0に強化される機能で、Hyper-V 上の仮想マシンに割り当てたメモリ量を動的に調整するものです。
これまでのHyper-Vでは、仮想マシンに割り当てたメモリ容量は、割り当てた分だけのメモリ容量を静的に確保していました。例えば仮想マシンに2GBのメモリを割り当てた場合、実際にはメモリを1GBしか利用していなくとも、Hyper-Vホストのメモリを2GB分確保してしまっていました。
それが、ダイナミックメモリを利用すると、実際に利用していない1GBのメモリを回収して、別の仮想マシンに追加できるようになりました。ゲストOSのメモリ要求に応じて、最適なメモリ量を割り当てることができるようになったのです。
稼働している仮想マシンのメモリを動的に再分配できるので、Hyper-Vホストの物理メモリを有効活用できます。これにより、1台のHyper-Vホスト上で同時実行できる仮想マシンの数を増やす(=仮想マシンの集約率をあげる)ことができます。
さらにダイナミックメモリの長所は、仮想マシンのパフォーマンスにほとんど影響を与えないアーキテクチャであるということです。
Hyper-VのダイナミックメモリによりゲストOSのメモリ容量は、物理メモリ領域を確保して割り当てています。これに対してVMwareなど他社のメモリオーバーコミット機能では、ゲストOSのメモリ容量は必ずしも物理メモリ領域を確保しているわけではありません。場合によってはディスク上のページファイルにアクセスしなければならないため、仮想マシンのパフォーマンスに深刻な影響を与える可能性があるのです。
ダイナミックメモリの設定は、仮想マシンのメモリ設定で行います。こちらの画面は RC 版の設定画面のため、一部英語表記になっていますが正式リリース時には日本語表記になります。
設定項目は、次のとおりです。
- スタートアップRAM:仮想マシンに割り当てるメモリの下限。各ゲストOSが起動する際に必要となる最低限のメモリ容量を設定。
- 最大RAM:仮想マシンが利用することができるメモリの上限。
- バッファー:仮想マシンがバッファーとして予約しておく空きメモリ容量。
- 優先度:同じHyper-Vホスト上で実行する他の仮想マシンとの相対的な優先度。
またダイナミックメモリ環境のパフォーマンスを検証するために、新たに次のカウンタが追加されています。
SP1は現在 RC 版が公開されており、正式版は2011年の第一四半期にリリース予定です。
SP1の RC 版は、こちらのサイトからダウンロードできます。
SP1 Beta版ののインストールとダイナミックメモリの設定については、こちらのブログで詳しく記載されています。
また、ホワイトペーパーも公開されています。 「Dynamic Memoryの実装と構成」
ぜひダイナミックメモリを検証してみてください。