SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Windows Server 2008 R2 SP1 Beta の仮想マシンの Reservation 設定について

leave a comment

[T2-401]? Effective Hyper-V R2 SP1 ? 詳説 Dynamic Memory ? で Dynamic Memory が有効になっている、
仮想マシンで Reservation の設定ができるという話がありました。

この設定は WMI で実施する必要があるとのことでしたので、先日の投稿で設定用のスクリプトを作成してみました。

WMI で仮想マシンに Reservation を設定

?

この設定をした時の動作を軽く検証してみました。

?

■仮想マシンの Reservation の設定箇所

Hyper-V 上の仮想マシンの構成情報は XML ファイルに記載されています。

image

WMI で [rootVirtualization] 名前空間の [Msvm_MemorySettingData] クラスから情報を参照することもできます。

以下の情報は WMI で取得したメモリの情報になります。

Address ?
AllocationUnits MB
AutomaticAllocation True
AutomaticDeallocation True
Caption メモリ
Connection ?
ConsumerVisibility ?
Description Microsoft Virtual Machine メモリの設定です。
DeviceID ?
DeviceIDFormat ?
DynamicMemoryEnabled True
ElementName メモリ
HostResource ?
InstanceID Microsoft:A4A7173B-7DA6-42B8-8EE1-4DA2849E91184764334d-e001-4176-82ee-5594ec9b530e
IsVirtualized True
Limit 65536
MappingBehavior ?
OtherResourceType ?
Parent ?
PoolID 15129609-B465-4916-AA13-0CF4B109ADB0
Reservation 1024
ResourceSubType Microsoft Virtual Machine Memory
ResourceType 4
TargetMemoryBuffer 20
VirtualQuantity 1024
Weight 5000

?

初期状態では、[Reservation][VirtualQuantity (スタートアップ RAM)] と同一の設定になっています。
また、Reservation を設定するためには、[DynamicMemoryEnabled][True (有効)] に設定する必要があります。
DynamicMemory を有効にしていない状態では、WMI でReservation の値を設定しても設定が保存されません。
また、仮想マシンが起動している状態では変更ができないので設定をするときには仮想マシンを停止状態にする必要があります。

仮想マシンの構成ファイルは [Hyper-V のサービス (Hyper-V Virtual Machine Management)] でファイルにロックがされていますので、
XML ファイルを直接変更して Reservation の設定をすることができないようです。
そのため、WMI を使用して設定を変更する必要があるようです。
# サービスを停止すればファイルを直接変更することが可能です。
image
image

?

?

■Reservation を有効にした際の現在のメモリの遷移

Reservation を設定していない仮想マシンは、初回起動時にはスタートアップ RAM のメモリで起動され、必要に応じてメモリは
拡張されますが、最小ののメモリ設定としてはスタートアップ RAM の値になります。
# 今回は 1,024 MB をスタートアップ RAM として設定しています。

image

image?

パフォーマンスモニタでメモリの使用量を確認するとメモリも一定のサイズで遷移しています。
# アプリケーションは何も実行していない状態で稼働させています。
image

Reservation を 784 MB に設定して、メモリの遷移を見てみたいと思います。
起動時は、スタートアップ RAM の値で起動されるという動作は変わりません。

image

そのまま起動した状態にししばらくすると現在のメモリが下がります。
image

パフォーマンスモニタを見ていると、[Memory Remove Operations] が発生し、[Physical Memory]
減っていることが確認できます。
image

Reservation の設定が働き、スタートアップ RAM 以下までメモリが減っていることが確認できますね。
Reservation を 8 に設定するとどうなるかも試してみました。
# 設定の最小値は 8 になるようです。
image
image

解放できるところまで解放しているようですね。

スタートアップ RAM と Reservation の使い分けをどうするかはまだ考えていませんが、設定して動作するところまで確認してみました。

Share

Written by Masayuki.Ozawa

8月 29th, 2010 at 4:17 am

Posted in Hyper-V

Leave a Reply