Hyper-V 2012 ホスト パーティションの RAM を VM 専用に予約するにはどうすればよいですか?

Hyper-V 2012 ホスト パーティションの RAM を VM 専用に予約するにはどうすればよいですか?

Hyper-V 2012 クラスター ノードが、本来サポートすべき 2 つの VM をサポートできない状況があります。現在、96 GB の RAM を試用しており、2 つの 47 GB VM (静的 RAM) を実行したいと考えています。ホスト用に 2 GB が残り、十分なはずです。ただし、ソフトウェアがメモリ不足を訴えるため、2 番目の VM を実行できません。

次に、各 VM を 46 GB に減らしましたが、それでも 2 つの VM をサポートできません。ノードから「taskmgr」を実行すると、51 GB が「使用中」で、「44.9 GB」が使用可能であると報告されます。46 GB の VM でホスト パーティションに 5 GB のオーバーヘッドが発生する理由がわかりません。実行中のプロセスを見ると、記載されている RAM の合計は 500 MB 未満です。

Hyper-V に、2GB を除くすべてを VM 使用専用に明示的に予約するように指示します。

さらに、ハイパーバイザーが 5 GB を「必要とする」理由を知ることはさらに良いでしょう。Hyper-V が RAM で内部的に何を実行しているかを知る方法はありますか? または、Hyper-V 2012 では、ホストが実際に必要とする RAM の量 (2 GB では不十分なので) に関する新しい計算がありますか?

編集 - 2014-02-14

4 つの異なる Hyper-V Server 2012r2 ホストと 2008r2 をレビューした結果、非ページ プールは物理的にインストールされた RAM とともに直線的に増加しました。CPU が AMD か Intel かは関係ありません。ホストが Windows クラスターの一部であるかどうかは関係ありません。ホストがドメインに参加しているかどうかは関係ありません。また、ホストで実行されている VM の数 (またはそれらの VM が消費している RAM の量) も関係ありません。最後に、これは 2012r1 でも同じ動作であると考えています。なぜなら、2012r2 ホストがすべて 2012r1 だったときにこれらの症状が発生したからです。

いずれの場合も、インストールされているRAMの量(GB単位)に0.0425を掛けると、非ページプールに失われるRAMの量(GB単位)がわかります。(とても近似値です。

したがって、Microsoft がソフトウェアを修正するか、この動作が設計によるものであることを公式に認めるまでは、答えは、誰もが一般的に使用する計算 (以下の回答に示されている) を使用し、上記の計算の結果を追加して、非ページ プールによって失われる RAM を考慮することです。(または、よろしければ、ここに例を添えた要約があります。

PS: 「GB」と書いてきましたが、これは Windows が報告したものを使っているだけなので、注意が必要です。Windows と RAMMap が報告する数値は GB/KB ではなく、実際には GiB/KiB なので、非ページ プールの計算結果に 1024 を掛けて、RAMMap が報告する「K」の数値と比較してください。

答え1

ソース

ハイパーバイザ用に 300 MB、各仮想マシンに割り当てられる RAM の最初の GB 用に 32 MB、各仮想マシンに割り当てられる RAM の追加 GB ごとに 8 MB、ルート パーティションで実行されるホスト オペレーティング システム用に 512 MB

一般的な目安として、I/O 仮想化、スナップショット ファイルのサポート、子パーティションの管理などのサービスを提供するために、ルート パーティションに少なくとも 512 MB のメモリを割り当てるように計画します。

300+32+(45*8)=692MB 最初のVMの場合

両方のVMで692+32+(45*8)=1084

1084+512=1596MB 合計計算 経験則

したがって、これはハイパーバイザーの消費量だけになります。最初の VM がプロビジョニングされたときでも 5 GB 以上が使用されていることを考慮すると、コマンド プロンプトでタスクリストの出力を確認し、RAM を消費しているサーバー プロセスを探すことをお勧めします。

関連情報