プールされた仮想デスクトップ インフラストラクチャ (VDI) 環境など、アイドル状態または負荷の低い仮想マシンがある場合、動的メモリを使用すると、統合を強化し、再起動操作の信頼性を向上させることができます。 また、これらの新機能を使用して、要件の変更に迅速に対応することもできます。
主な利点
動的メモリを使用すると、再起動操作の信頼性を向上させ、より高い統合番号を取得できます。 この機能により、特にプールされた VDI 環境など、アイドル状態の仮想マシンや負荷の低い仮想マシンが多数存在する環境では、コストが削減される可能性があります。 動的メモリランタイム構成の変更により、ダウンタイムを短縮し、要件の変更に対応するための機敏性を高めることができます。
Windows Server で実行されている Hyper-V は、管理ホスト オペレーティング システムが排他的に使用するために予約するメモリの量を自動的に計算します。 このメモリは、仮想化サービスを実行するために使用されます。 コンピューターがフェールオーバー クラスターの一部である場合、Hyper-V はフェールオーバー クラスター サービスを実行するのに十分なメモリも予約します。
技術的な概要
動的メモリは、仮想マシンに割り当てることができる最小メモリ量としてスタートアップ メモリを定義します。 ただし、Windows では、起動中に安定した状態よりも多くのメモリが必要です。 その結果、Hyper-V が起動後にこれらの仮想マシンからメモリを再利用できないため、管理者が仮想マシンに余分なメモリを割り当てることがあります。 動的メモリには最小メモリ設定が導入されています。これにより、Hyper-V は仮想マシンから未使用のメモリを再利用できます。 この機能は、特に仮想デスクトップ インフラストラクチャ (VDI) 環境では、仮想マシンの統合数の増加に反映されます。
Windows Server では、信頼性の高い仮想マシンの再起動操作のためのスマート ページングも導入されました。 最小メモリは仮想マシンの統合数を増やしますが、課題もあります。 仮想マシンのメモリ量がスタートアップメモリよりも少なく、再起動された場合、Hyper-V は仮想マシンを再起動するために追加のメモリを必要とします。 ホストメモリの負荷や仮想マシンの状態により、Hyper-V は常に追加のメモリを使用できるわけではありません。 この制限により、散発的な仮想マシンの再起動エラーが発生する可能性があります。 スマート ページングは、最小メモリとスタートアップ メモリの間のメモリ ギャップを埋め、仮想マシンを確実に再起動できるようにします。
信頼性の高い再起動操作を使用した最小メモリ構成
以前のバージョンの動的メモリと同様に、仮想マシンの最小メモリ量を構成できます。Hyper-V は、常にこの量を実行中の仮想マシンに割り当て続けます。
最小メモリがスタートアップ メモリよりも少なく構成された仮想マシンに対して信頼性の高い再起動エクスペリエンスを提供するために、Hyper-V はスマート ページングを使用します。 このメモリ管理方法では、仮想マシンの再起動に必要なメモリが増える場合に、ディスク リソースを追加の一時メモリとして使用します。 この方法には、利点と欠点があります。 使用可能な物理メモリがない場合に仮想マシンを実行し続ける信頼性の高い方法が提供されます。 ただし、ディスク アクセス速度はメモリ アクセス速度よりもはるかに遅いため、仮想マシンのパフォーマンスが低下する可能性があります。
Important
仮想マシンのオペレーティング システムをインストールまたはアップグレードする場合、インストールおよびアップグレード プロセス中に仮想マシンで使用できるメモリの量は 、スタートアップ RAM として指定された値です。 仮想マシンに動的メモリを構成した場合でも、仮想マシンは [スタートアップ RAM ] 設定で構成されたメモリ量のみを使用します。 インストールまたはアップグレードの手順で、 スタートアップ RAM の値がオペレーティング システムの最小メモリ要件を満たしていることを確認します。
スマート ページングのパフォーマンスへの影響を最小限に抑えるために、Hyper-V では、次のすべての条件が発生した場合にのみスマート ページングが使用されます。
- 仮想マシンが再起動中です。
- 使用可能な物理メモリがありません。
- ホスト上で実行されている他の仮想マシンからメモリを再利用することはできません。
Hyper-V は、次の場合にスマート ページングを使用しません。
- 仮想マシンは、(再起動ではなく) "オフ状態" から開始します。
- 実行中の仮想マシンに対してメモリを過剰に割り当てます。
- 仮想マシンは、Hyper-V クラスターでフェールオーバーします。
ホスト メモリをオーバーサブスクライブすると、Hyper-V はスマート ページングよりも効果的であるため、ゲスト オペレーティング システムのページング操作に依存し続けます。 ゲスト オペレーティング システムでのページング操作は、Windows メモリ マネージャーによって実行されます。 Windows メモリ マネージャーには、仮想マシン内のメモリ使用量に関する Hyper-V ホストよりも多くの情報があります。つまり、ページングするメモリを選択するときに使用する情報を Hyper-V に提供できます。 このため、システムはスマート ページングと比較してオーバーヘッドが少なくなります。
スマート ページングの影響をさらに軽減するために、Hyper-V は開始プロセスが完了した後に仮想マシンからメモリを削除します。 この目標は、ゲスト オペレーティング システム内の動的メモリ コンポーネント ("バルーン") と調整することで実現されるため、仮想マシンはスマート ページングの使用を停止します。 この手法では、スマート ページングの使用は一時的であり、10 分を超えるとは予想されません。
Hyper-V がスマート ページングを使用する方法について、次の点にも注意してください。
- 仮想マシンに必要な場合にのみ、スマート ページング ファイルが作成されます。
- 追加のメモリ量を削除すると、スマート ページング ファイルが削除されます。
- 別の再起動が発生し、十分な物理メモリがない限り、この仮想マシンではスマート ページングは再び使用されません。
実行時の動的メモリ構成の変更
Hyper-V を使用すると、仮想マシンの実行中に動的メモリに次の構成変更を行うことができます。
- 最大メモリを増やします。
- 最小メモリを減らします。
動的メモリ設定について
Hyper-V Manager の次の仮想マシン設定を使用すると、動的メモリを構成できます。 次の説明を確認して、機能のしくみとその関連を理解します。
| Setting | Description |
|---|---|
| スタートアップ RAM | 仮想マシンを起動するために必要なメモリの量を指定します。 この値は、ゲスト オペレーティング システムを起動できる十分な高さである必要がありますが、最適なメモリ使用率と統合率が高くなる可能性がある場合は、できるだけ低くする必要があります。 |
| 最小 RAM | 仮想マシンの起動後に仮想マシンに割り当てる必要があるメモリの最小量を指定します。 この値は、 スタートアップ RAM 値と等しい最大値まで 32 MB に設定します。 |
| 最大 RAM | この仮想マシンで使用できるメモリの最大量を指定します。 スタートアップ RAM の値と同じ低い値から最大 1 TB の値を設定します。 ただし、仮想マシンでは、ゲスト オペレーティング システムでサポートされている最大量のメモリのみを使用できます。 たとえば、最大 32 GB をサポートするゲスト オペレーティング システムを実行している仮想マシンに 64 GB を指定した場合、仮想マシンは 32 GB を超える値を使用できません。 |
| メモリ バッファー | 仮想マシンに割り当てようと Hyper-V メモリの量を、仮想マシン内で実行されているアプリケーションとサービスが実際に必要とするメモリの量と比較して指定します。 仮想マシンの実行中のメモリ使用量の変化に応じて、バッファーを表す実際のメモリ量が変化するため、メモリ バッファーはパーセンテージとして指定されます。 Hyper-V は、コミットされたメモリを識別する仮想マシンのパフォーマンス カウンターを使用して、仮想マシンの現在のメモリ要件を決定し、バッファーとして追加するメモリの量を計算します。 バッファーは、次の式を使用して決定されます。メモリ バッファーの量 = 仮想マシンが実際に必要とするメモリの量 / (メモリ バッファー値/ 100)。 たとえば、ゲスト オペレーティング システムにコミットされたメモリが 1,000 MB で、メモリ バッファーが 20%の場合、Hyper-V は仮想マシンに割り当てられた物理メモリの合計 1,200 MB に対して、追加の 20% (200 MB) の割り当てを試みます。 手記: すべての仮想マシンに要求されたメモリ バッファーを提供するのに十分な物理メモリがコンピューターにない場合、バッファーは維持されません。 |
| メモリの重み | Hyper-V に、すべての仮想マシンに要求されたメモリ量を与えるのに十分な物理メモリがコンピューターにない場合に、仮想マシン間でメモリを分散する方法を決定する方法を提供します。 |
動的メモリ/Hyper-V メモリ管理に関する FAQ
動的メモリに関してよく寄せられる質問を次に示します。
Hyper-V ロールをインストールした後、ページ ファイルのサイズを手動で構成する必要がありますか?
いいえ。Hyper-V の実行時に、システムがページ ファイル サイズを管理できるようにすることをお勧めします。
ホスト オペレーティング システムと実行中の仮想マシンの間でメモリはどのように分割されますか?
Hyper-V は、ホスト オペレーティング システムのランタイムの正常性を監視して、仮想マシンに安全に割り当てることができるメモリの量を決定します。
仮想マシンの起動に失敗し、次のエラー メッセージ "システムで仮想マシンを起動するのに十分なメモリがありません" または "メモリを初期化できませんでした: メモリ不足 (0x8007000E)" というエラー メッセージが表示されました。 仮想マシンで使用可能なメモリの量を知る方法
前述のように、Hyper-V はホスト オペレーティング システムのランタイムの正常性を監視して、仮想マシンに安全に割り当てることができるメモリの量を判断します。
仮想マシンで使用可能なメモリの現在の量は、パフォーマンス モニター カウンター (動的メモリ バランサーのHyper-V – 使用可能なメモリ) で確認できます。