TechReport

技術者情報

ソリューション

2011年7月13日(水)公開

第55回

サービス開発者から見たWindows Server 2008 R2 Service Pack-Vol.4

Dynamic Memory使用時に仮想マシンでは何がおきているのか

GMO最新ネット業界レポート ソリューション編。『サービス開発者から見たWindows Server 2008 R2 Service Pack 1』とし、前回はWMIを使用しての「Reservation」の設定方法について説明。今回は、Dynamic Memory使用時に仮想マシンでは何がおきているのかについて、GMOインターネット株式会社 事業本部 樋口 勝一が執筆。

記事INDEX

Dynamic Memory使用時に仮想マシンでは何がおきているのか

Hyper-Vのホストサーバー上で仮想マシンにDynamic Memoryの使用設定をした場合、仮想マシンではどのようなことが起こっているのでしょう。Dynamic Memoryの特徴は、予め設定した範囲内で仮想マシンに必要なときに必要なだけメモリを動的に割り当て、不要となった分のメモリを回収し再利用に備えるといったものです。

バルーニングが行われた場合の仮想マシンの状況

今回のデモも効果を分かりやすくするため以下の設定値としています。

 ●「スタートアップRAM」 16GB


 ●「最大RAM」 16GB


 ●「Reservation」 1GB

(画像:4-01)

まずは上記設定で仮想マシンを起動します。

▼起動直後の仮想マシンのタスクマネージャーの状態です。

(画像:4-02)

「スタートアップRAM」16GB ですので当然物理メモリは16GBとなっています。「利用可能」「空きメモリ」ともに十分すぎるほどの容量となっています。

起動後しばらくすると「Reservation」を1GBとしていますのでHyper-Vは使用していない分のメモリを残り1GBになるまで回収をおこないます(バルーニング)。このときのメモリ使用状況をタスクマネージャーで見て見ると急激にメモリ使用率が上昇したかのようなグラフとなります。

(画像:4-03)

グラフだけ見てみると、あたかも何かアプリケーションが起動して大量のメモリを消費したかのようなグラフとなりますが、「利用可能」「空きメモリ」も極端に少なくなっています。

注目すべきはタスクマネージャー最下部の「物理メモリ:97%」の部分です。 タスクマネージャーの「物理メモリの使用率の履歴」グラフが示すのはあくまでも物理メモリの使用率、パーセンテージです。バールーニング時にグラフが跳ね上がったのは “メモリ使用量が増えた” のではなく “メモリの使用率が増えた” ということです。 仮想マシンのメモリがバルーニングで回収されているので分母となる使用可能メモリ容量は当然少なくなります。その状況で仮想マシンのメモリ使用量自体は変わっていませんので当然使用率は上昇することになります。 その結果がタスクマネージャーのグラフとなるのです。

4-02 と 4-03 の画像の「利用可能」「空きメモリ」を見比べていただければその違いがはっきりと分かります。

また、タスクマネージャーの「物理メモリの使用率の履歴」グラフが示す値は「使用中のメモリ」 ÷ 「利用可能メモリ」の値、すなわち「物理メモリ:○○%」という数値となります。以上がバルーニングが行われた場合の仮想マシンの状況です。

ホットアドが行われた場合の仮想マシンの状況

次に、メモリが回収された後、仮想マシンでメモリが必要になった場合、Hyper-Vホストは必要分のメモリを仮想マシンに追加します(ホットアド)。

仮想マシン上でいくつかアプリケーションを起動しメモリをいくらか消費するようにしてみますと、必要なだけのメモリがリアルタイムで仮想マシンに追加されます。この動作は仮想マシンのメモリ設定で指定した「最大RAM」の値まで行います。メモリ使用率は効率的なメモリ割り当てが行われているため100%弱の値で推移することになります。

(画像:4-05)

メモリを使用したアプリケーションが終了すれば、再びバルーニングが行われ、メモリの効率使用が行われることになります。

Hyper-VのDynamic Memoryを使用した場合の注意事項

このように、仮想マシン上ではHyper-Vホストによりバルーニングとホットアドがリアルタイムで行われることで、効率的なメモリ資源配分を行うことが可能となります。

Hyper-Vホストのメモリ搭載容量には制限があります。このメモリ資源を効率的に配分し、不要メモリは時には他の仮想マシンに、時にはHyper-Vホスト自身に割り振ることで、より快適なサービス提供と安定したサービス提供を実現することができるようになります。

しかし気をつけなければいけないのは、Hyper-VのDynamic Memoryを使用した場合、仮想マシンを利用しているユーザーから見ると、タスクマネージャーではいつもメモリ使用率が高くメモリが足りないのではないか? といった懸念もあるかと思います。これは一般的なPCでは通常確認できない現象です。

ポイントは、タスクマネージャーのメモリ使用率のグラフではなく、あくまでも物理メモリの合計と利用可能メモリが仮想マシンユーザーのために用意されたメモリである、という点です。


Hyper-VのDynamic Memoryを使用してサービス提供を行う場合、このポイントをきちんとユーザーにアナウンスする必要があります。

以上3回にわたりサービス開発者から見たWindows Server 2008 R2 Service Pack 1について、特にDynamic Memoryにフォーカスをあててご紹介してきました。今後、お名前.com Windowsデスクトップ (http://www.onamae-desktop.com/)においても随時Dynamic Memoryの環境でのサービス提供が行われる予定です。

より快適なサービス提供と安定したサービス提供を目指してゆく所存ですので、ご期待ください。




*本文中に記載されている会社名および商品名・サービス名は、各社の商標 または登録商標です。

樋口 勝一

GMOインターネット株式会社

1999年6月GMOインターネットに入社。Windowsを用いたホスティング事業の立ち上げの際、サービス開発からその後の保守・運用まで1人で担当。2010年には「お名前.comWindowsデスクトップ」をリリースし、マイクロソフト社と強い信頼関係を構築。2007年から連続で「マイクロソフトMVPアワード」を受賞し、Windowsのスペシャリストとして活躍。

執筆者一覧

 執筆協力した本が出版されました

 当レポートを担当しているGMOインターネット株式会社 事業本部 樋口 勝一が執筆協力をした書籍が出版されました。

Dynamic Memory
  最新!Android徹底活用読本

出版社:宝島社
価格:880円(税込) ※価格は店舗によって異なります。

次々に発売されるAndroidケータイを「コミュニケーションしたい」「情報をブラウジングしたい」「ビジネス手帳の代わりにしたい」「音楽や動画を120%楽しみたい」など、やりたいこと別に章立てした活用書。

Dynamic Memory
  GALAXY Sユーザーのためのアプリ245

出版社:三才ブックス
価格:1,260円(税込) ※価格は店舗によって異なります。

25万本以上あるといわれるAndroidアプリの中から、目的別・状況別に本当に使えるアプリだけを厳選。

Dynamic Memory
  ソニー・エリクソン公式 Xperia arc ガイドブック

出版社:日経BP社
価格:1,260円(税込) ※価格は店舗によって異なります。

こだわりのデザインと薄さを追求しながら、Androidスマートフォンのフラッグシップモデルとして世界に先駆けて日本で発売されるXperia arcの公式ガイドブックです。