|
Tweet
|

・設定概要
では実際にDynamic Memory がどのようにその効果を発揮するのかその様子をデモ動画で見てみたいとおもます。 と、その前に、Dynamic Memoryの設定方法を紹介したいと思います。「そんなのHyper-Vマネージャーから簡単にできますよ」とおっしゃる方がいらっしゃると思いますが、そこはGMO最新ネット業界レポートですので、通常の設定方法とは違ったアプローチで設定を行いたいと思います。
今回はDynamic Memoryの効果を見やすくするためのデモということで、極端な設定値としています。 まず24GBのメモリを搭載したHyper-Vのホスト上で仮想マシンを作成し、「スタートアップRAM」と「最大RAM」を16GBとしました。 通常Hyper-Vマネージャーではここまでの設定しかできませんが、WMI経由でプログラムマチックにアプローチした場合、「Reservation」という項目を設定することができます。これはいわゆる最低メモリと考えていただければよいです。 Hyper-Vマネージャーから「スタートアップRAM」と「最大RAM」を設定した場合、自動的に「Reservation」の値は「スタートアップRAM」と同じ値に設定されるようになっています。なので、実は今回のようにHyper-Vマネージャーから「スタートアップRAM」と「最大RAM」を16GBとした場合、起動直後から、シャットダウンするまで仮想マシンのために確保されるメモリは実はずっと16GBのままなのです。 これではせっかくのDynamic Memoryの効果がありません。
サービス提供を行う場合は、ユーザーの方には常にサービスで約束された機能、パフォーマンスを提供しなければなりません。お名前Windowsデスクトップでは現在仮想マシンごとに1GBのメモリを提供しています。起動時~終了までこの1GBのメモリはいつでも使えるよう、また、不足ないことがユーザーにいつでも確認できるようにする必要があります。
「スタートアップRAM」を512MB、「最大RAM」を1GBとした場合、パフォーマンス的には、「スタートアップRAM」と「最大RAM」をともに1GBとした場合と差はありません。 あくまでもDynamic Memoryの効果はユーザー側ではなく、ホスト側で明示的に確認されるものであり、ユーザーにとっては常に1GBのメモリが使用、確認できることが必須となります。「スタートアップRAM」を512MB、「最大RAM」を1GBとした場合、仮想マシンのタスクマネージャーで見てみると初期起動時には物理メモリの合計が511MBとなっています。
Dynamic Memoryではユーザーの使用度合いに応じて「最大RAM」までメモリを動的に追加していくのでパフォーマンスとしては問題なのですが、仮想マシンのタスクマネージャーで見た場合これではユーザーとしては「1GBあるはずのメモリがきちんと提供されていないのではないか?」といったことになってしまいます。
これらを踏まえると、Dynamic Memory使用時であっても仮想マシンの「スタートアップRAM」は1GB、かつ「最大RAM」も1GBという設定値がサービス提供する上では必須となります。 ですが先ほどの理由によりこの設定ではDynamic Memoryの効果がありません。 これを解決するのが「Reservation」の設定となります。 「Reservation」を設定することで、仮想マシンの起動後、メモリの使用がなければHyper-Vのホストは「Reservation」の設定値まで仮想マシンから未使用のメモリを回収することになります。 実際に「Reservation」を設定した場合のHyper-Vマネージャの設定画面です。
動的項目の下に「スタートアップメモリと最小メモリの容量が等しくありません。~」との注意メッセージが表示されていますが、意図的にスタートアップメモリと最小メモリを異なる値としているので問題ありません。 この設定時の仮想マシンのタスクマネージャーでは初期起動時から物理メモリの合計はきちんと1023MBとなっています。これでDynamic Memory使用時であっても、ユーザーには以前と変わらない状態でのサービス提供が可能となります。
・実際の効果
今回のデモではその効果を分かりやすくするため以下の設定値としています。
「スタートアップRAM」16GB
「最大RAM」16GB
「Reservation」1GB
となります。
この設定で期待する動きとしては、起動時16GBのメモリで仮想マシンが実行し、未使用分のメモリが「Reservation」の設定値1GBまで(15GB)Hyper-Vのホストに回収される、というものです。この効果をデモで実行したのが以下の動画となります。 この動画はHyper-Vホストのタスクマネージャを録画したものです。24GBのメモリが搭載されています。 仮想マシンの起動時に一気に16GBメモリが消費されています。 その後「Reservation」に設定された1GBまで未使用分のメモリが仮想マシンから回収され、ホストマシンにメモリが戻ってきているのが分かります。
これがまさにDynamic Memoryの効果です。
(動画でご覧いただけます。)
以上のように、サービスを提供する上でDynamic Memoryはサービス提供者にとって非常に有用な機能となりますが、ユーザーに対し既存サービスの質を落とすことなく実装するには通常の設定以外でも少々コツがいることがお分かりいただけたと思います。 次回は具体的にWMIを使用しての「Reservation」の設定方法をご紹介したいと思います。
- 【第45回】サービス開発者から見たWindows Server 2008 R2 Service Pack 1
- 【第42回】マイクロソフトMVP5年連続受賞者が語るGMOインターネット、マイクロソフト社の技術提携の“これまで”と“これから”
| 執筆協力した本が出版されました | ||
当レポートを担当しているGMOインターネット株式会社 事業本部 樋口 勝一が執筆協力をした書籍が出版されました。 |
||
![]() |
GALAXY Sユーザーのためのアプリ245 出版社:三才ブックス 価格:1,260円(税込) ※価格は店舗によって異なります。 25万本以上あるといわれるAndroidアプリの中から、目的別・状況別に本当に使えるアプリだけを厳選。 |
|
![]() |
ソニー・エリクソン公式 Xperia arc ガイドブック 出版社:日経BP社 価格:1,260円(税込) ※価格は店舗によって異なります。 こだわりのデザインと薄さを追求しながら、Androidスマートフォンのフラッグシップモデルとして世界に先駆けて日本で発売されるXperia arcの公式ガイドブックです。 |
|
*本文中に記載されている会社名および商品名・サービス名は、各社の商標 または登録商標です。
































