待望の Dynamic Memory が Windows Server 2008 R2 SP1 で提供されました。
Dynamic Memory は、Hyper-V の子パーティションのメモリー要求に応じて、動的にメモリーを割り当てる機能です。
つまり、子パーティションに最低必要サイズのメモリーを割り当てておけば、必要に応じで割り当てメモリーが増やされ、追加割り当てされたメモリーが不要になったら解放される仕組みです。
割り当て最大値も設定できるので、運用環境ではメモリ割り当てをちゃんと設計して最大値を指定しておく事を強くお勧めします。
検証環境で Hyper-V を使っている場合は、使用メモリーが節約できるので、より多くの子パーティションを起動することが出来ます。
運用環境でも、想定以上のメモリー消費が発生した場合でも子パーティションがスワップを起こしてパフォーマンスダウンすることを防ぐことが出来ます。
嬉しい事に、Hyper-V コンソールには現在使用しているメモリーサイズが表示されるので、運用環境のマシンにどのくらいのメモリーを搭載すればいいのかの目安が簡単に立てられます。
RSAT はアップグレードしなくても Dynamic Memory 対応していますので、RSAT からも Dynamic Memory の設定が出来ますが、for Windows 7 SP1 がリリースされているので、入れ替えるのが良いでしょう。
RSAT はアップグレードしなくて OK
うれし涙がチョチョ切れる Dynamic Memory ですが、Hyper-V がサポートしている OS 全てに適用されるわけではありません。
Dynamic Memory サポート OS (オリジナル情報はこちら) |
ゲストOS | エディション | ダイナミックメモリーを有効にする設定 | スタートアップ RAM |
Windows Server 2008 R2 | Standard/Web | SP1の適用 | 512MB |
Windows Server 2008 R2 | Enterprise/Datacenter | SP1の適用またはSP1の統合サービスをインストール | 512MB |
Windows Server 2008 (SP2) | Standard/Web (x64/x86) | SP1の統合サービスをインストールし、Hotfix を適用 (KB2230887: 動的メモリ、仮想マシンのシステムでが実行されている Windows Server 2008 SP2 または Windows Web Server 2008 SP2 を有効にすると、バーチャル マシンのメモリ増加しません) |
512MB |
Windows Server 2008 (SP2) | Enterprise/Datacenter (x64/x86) | SP1の統合サービスをインストール | 512MB |
Windows Server 2003 R2 (SP2) | Standard/Web/Enterprise/Datacenter (x64/x86) | SP1の統合サービスをインストール | 128MB |
Windows Server 2003 (SP2) | Standard/Web/Enterprise/Datacenter (x64/x86) | SP1の統合サービスをインストール | 128MB |
Windows 7 | Ultimate/Enterprise (x64/x86) | SP1の適用またはSP1の統合サービスをインストール | 512MB |
Windows Vista (SP1) | Ultimate/Enterprise (x64/x86) | SP1の統合サービスをインストール | 512MB |
この表を見ると、Windows XP 以前の OS はサポート対象外ですし、Linux 系もサポートされていません。
Windows Server 2008 Standard と Web Edition は Hotfix を適用しないと Dynamic Memory
が使えませんが、これは Windows Update か、次の Servce Pack で適用されると思われるので、Dynamic Memory が急いで必要な場合を除いて Hotfix
は適用しなくても良いと思います。
試しに、XP に SP1 の統合サービスをインストールしても、not supported になってしまいます。
XP では not supported に
Dynamic Memory の設定は至って簡単で、メモリ管理で「動的」に変更し、スタートアップ RAM を設定するだけです。
スタートアップ RAM | メモリー初期割り当て値 |
最大 RAM | 拡張割り当ての最大値 |
メモリーバッファー | 子パーティションのメモリー要求に対しての余裕 例えば、20% を指定していた場合、子パーティションが1GBのメモリーを要求した時には 1.2GB のメモリーが子パーティションに割り当てられます |
メモリの優先度 |
物理メモリーが足りなくなり、要求メモリーの割り当てが出来なくなった場合に子パーティションにメモリーを割り当てる優先度を指定します メモリーが十分搭載されている場合や、最大 RAM をちゃんと設計して設定してあればこの設定が使われる事はありません |
レジストリを設定すれば、親パーティション用のメモリーを予約する事も可能です。(レジストリ編集なので、危険が伴いますし、あくまで自己責任です)
キー:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Virtualization
名前:MemoryReserve
種類:REG_DWORD
値 :親パーティション用予約メモリサイズ(MB)
Copyright © MURA All rights reserved.