TechReport

技術者情報

ソリューション

2011年5月11日(水)公開

第48回

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

Dynamic Memoryの効果

GMO最新ネット業界レポート ソリューション編。『サービス開発者から見たWindows Server 2008 R2 Service Pack 1』とし前回は、品質を落とすことなくサーバーの安定性向上を期待出来るDynamic MemoryについてGMOインターネット株式会社 事業本部 樋口 勝一が執筆。今回はDynamic Memoryの効果について語る。

記事INDEX

Dynamic Memoryの効果

・設定概要

では実際に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となっています。

「スタートアップ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

・実際の効果

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

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


 「最大RAM」16GB


 「Reservation」1GB


となります。

この設定で期待する動きとしては、起動時16GBのメモリで仮想マシンが実行し、未使用分のメモリが「Reservation」の設定値1GBまで(15GB)Hyper-Vのホストに回収される、というものです。この効果をデモで実行したのが以下の動画となります。 この動画はHyper-Vホストのタスクマネージャを録画したものです。24GBのメモリが搭載されています。 仮想マシンの起動時に一気に16GBメモリが消費されています。 その後「Reservation」に設定された1GBまで未使用分のメモリが仮想マシンから回収され、ホストマシンにメモリが戻ってきているのが分かります。

Dynamic Memory

これがまさにDynamic Memoryの効果です。


(動画でご覧いただけます。)

以上のように、サービスを提供する上でDynamic Memoryはサービス提供者にとって非常に有用な機能となりますが、ユーザーに対し既存サービスの質を落とすことなく実装するには通常の設定以外でも少々コツがいることがお分かりいただけたと思います。 次回は具体的にWMIを使用しての「Reservation」の設定方法をご紹介したいと思います。




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


樋口 勝一

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の公式ガイドブックです。