Ask CORE

Microsoft Japan Windows Technology Support

Windows クライアント OS のホット アド メモリ機能と動的メモリについて

こんにちは。Windows プラットフォーム サポートの北原です。

企業のデスクトップ環境に仮想化技術を取り入れることが少なくない昨今ですが、
アプリケーションの追加などで仮想デスクトップ上のメモリの最大値を増やしたい
という要望も少なからずあるのではないでしょうか。

通常これを実現しようとすると、ホスト OS 側の仮想化システムで、対象のゲスト OS の
メモリの最大値を増やしてから、ゲスト OS の再起動をする必要があります。
サービスの形態によっては、ゲスト OS の再起動をすることはなかなか難しいかもしれ
ません。

今回の記事は、このような場合に最適なホット アド メモリ機能をご紹介します。
ホット アド メモリとは、OS が起動している (ホット) 状態でメモリを増やせる (アド)
機能のことで、これを用いると、ゲスト OS を再起動することなくメモリの最大値を増やす
ことができます。

以下のリストは、仮想環境上の Windows クライアント OS におけるホット アド メモリ機能の
対応状況です。Windows 8 以降であれば、全てのエディションで使用可能です。

  • Windows Vista Enterprise
  • Windows Vista Ultimate
  • Windows 7 Enterprise
  • Windows 7 Ultimate
  • Windows 8
  • Windows 8 Pro  
  • Windows 8 Enterprise
  • Windows 8.1
  • Windows 8.1 Pro
  • Windows 8.1 Enterprise

なお、Windows Server OS で使用できる物理マシンのホット アド メモリ機能に
ついては、Windows クライアント OS ではご利用いただくことはできません。
物理マシンのホット アド メモリ機能について詳しく知りたい方は、
以下の文書をご参照ください。

Hardware support for hot-add memory in Windows Server (英語)
http://msdn.microsoft.com/ja-jp/library/dn613932(v=vs.85).aspx

仮想化環境でホット アド メモリ機能を使うには、仮想化システム側でも
ホット アド メモリ機能に対応している必要があります。
弊社の仮想化システムである Hyper-V の場合、「動的メモリ」という
OS を稼動させたままメモリ量を調整する機能の一部として、
ホット アド メモリ機能が実装されています。

今回はデモとして Hyper-V の動的メモリと Windows 7 Enterprise を用いて、
OS を稼動させたままメモリの最大値を増やしてみたいと思います。

事前準備として、Hyper-V マネージャーを開き、ゲスト OS の動的メモリを
有効にし、 [最大 RAM] を 2048MB に設定しておきます。


 

準備が整ったので、ゲスト OS を起動します。[スタートアップ RAM] が
1024 MB に設定されているため、物理メモリの合計値は 1023MB となっています。


 

その後、いくつかアプリケーションを起動してみます。

物理メモリの消費が 1024MB に近づくと、自動的に物理メモリの合計値が
増えていきます。以下は最大の 2047MB まで増えた状態です。


 

動的メモリを有効にするには、ゲスト OS を停止する必要がありますが、
一度動的メモリを有効にしておくと、OS が起動中であっても最大 RAM の値を
いつでも増やすことができます。

Hyper-V の動的メモリについて詳しく知りたい方は、以下の最新の文書を
ご参照ください。

Hyper-V Dynamic Memory Overview (英語)
http://technet.microsoft.com/en-us/library/hh831766.aspx