次の方法で共有


Hyper-V ホスト CPU リソース管理

Windows Server 2016 以降で導入されたホスト CPU リソース制御 Hyper-V、Hyper-V 管理者は、"ルート" または管理パーティションとゲスト VM の間でホスト サーバーの CPU リソースをより適切に管理および割り当てることができます。 管理者は、これらのコントロールを使用して、ホスト システムのプロセッサのサブセットをルート パーティション専用にすることができます。 これにより、Hyper-V ホストで実行された作業を、ゲスト仮想マシンで実行されているワークロードから、システム プロセッサの個別のサブセットで実行することで分離できます。

Hyper-V ホストのハードウェアの詳細については、「 Windows 10 Hyper-V システム要件」を参照してください。

バックグラウンド

ホスト CPU リソース Hyper-V 制御を設定する前に、Hyper-V アーキテクチャの基本を確認すると便利です。 一般的な概要は、「 Hyper-V アーキテクチャ 」セクションにあります。 この記事の重要な概念は次のとおりです。

  • Hyper-V は、ハイパーバイザーの制御下で、コンピューティング リソースが割り当てられ共有される仮想マシン パーティションを作成および管理します。 パーティションは、すべてのゲスト仮想マシン間、およびゲスト VM とルート パーティション間の強力な分離境界を提供します。

  • ルート パーティション自体は仮想マシン パーティションですが、一意のプロパティを持ち、ゲスト仮想マシンよりもはるかに大きな特権を持ちます。 ルート パーティションは、すべてのゲスト仮想マシンを制御し、ゲストの仮想デバイスサポートを提供し、ゲスト仮想マシンのすべてのデバイス I/O を管理する管理サービスを提供します。 Microsoft では、ホスト パーティションでアプリケーション ワークロードを実行しないことを強くお勧めします。

  • ルート パーティションの各仮想プロセッサ (VP) は、基になる論理プロセッサ (LP) に 1 対 1 でマップされます。 ホスト VP は、常に同じ基になる LP 上で実行されます。ルート パーティションの VP の移行はありません。

  • 既定では、ホスト VM を実行する RP でもゲスト VM を実行できます。

  • ゲスト VP は、ハイパーバイザーによって、使用可能な任意の論理プロセッサで実行されるようにスケジュールできます。 ハイパーバイザー スケジューラでは、ゲスト VP をスケジュールする際にテンポラル キャッシュのローカリティ、NUMA トポロジ、およびその他の多くの要因を考慮しますが、最終的には任意のホスト LP で VP をスケジュールできます。

最小ルート、または "Minroot" 構成

初期バージョンの Hyper-V では、パーティションあたりのVP(仮想プロセッサ)のアーキテクチャ上の最大制限が64個でした。 これは、ルート パーティションとゲスト パーティションの両方に適用されます。 64 を超える論理プロセッサを搭載したシステムがハイエンド サーバーに登場するにつれて、Hyper-V は、これらの大規模なシステムをサポートするようにホスト スケール制限も進化し、1 つの時点で最大 320 個の RP を持つホストをサポートしました。 その時点でパーティションあたりの64 VPの制限を突破すると、いくつかの課題が生じ、パーティションあたり64を超えるVPのサポートが困難になる複雑さを生じさせました。 これに対処するために、基になるマシンにさらに多くの論理プロセッサが使用可能な場合でも、Hyper-V ルート パーティションに与えられる VM の数を 64 に制限しました。 ハイパーバイザーはゲスト VM を実行するために使用可能なすべての RP を引き続き利用しますが、ルート パーティションは 64 で人為的に上限に達しました。 この構成は、"最小ルート" または "minroot" 構成と呼ばれるようになりました。 パフォーマンス テストでは、64 を超える LP を持つ大規模なシステムでも、多数のゲスト VM とゲスト VM に十分なサポートを提供するためにルートに必要なルート VM が 64 個を超えていないことが確認されました。実際には、ゲスト VM の数とサイズによっては、多くの場合、64 未満のルート VM が十分でした。 実行されている特定のワークロードなど。

この "minroot" の概念は、現在も引き続き利用されています。 実際、Windows Server 2016 Hyper-V ホスト RP のアーキテクチャサポートの上限を 512 RP に引き上げたとしても、ルート パーティションは最大 320 RP に制限されます。

Minroot を使用したホスト コンピューティング リソースの制約と分離

Windows Server 2016 Hyper-V の既定のしきい値が 320 RP の場合、minroot 構成は最大のサーバー システムでのみ使用されます。 ただし、この機能は、Hyper-V ホスト管理者によってはるかに低いしきい値に構成できるため、ルート パーティションで使用できるホスト CPU リソースの量を大幅に制限するために利用できます。 もちろん、ホストに割り当てられた VM とワークロードの最大要求をサポートするには、使用する特定の数のルート RP を慎重に選択する必要があります。 ただし、ホスト RP の数に対する妥当な値は、運用ワークロードの慎重な評価と監視によって決定でき、広範なデプロイの前に非運用環境で検証できます。

Minroot の有効化と構成

minroot 構成は、ハイパーバイザー BCD エントリを介して制御されます。 minroot を有効にするには、管理者特権を持つコマンド プロンプトから次の手順を実行します。

     bcdedit /set hypervisorrootproc n

n はルート VM の数です。

システムを再起動する必要があり、新しい数のルート プロセッサは OS ブートの有効期間中保持されます。 実行時に minroot 構成を動的に変更することはできません。

複数の NUMA ノードがある場合、各ノードは n/NumaNodeCount プロセッサを取得します。

複数の NUMA ノードを使用する場合、対応する VM の NUMA ノード VP が各 NUMA ノードで実行できるように、ルート VP がない十分な空き LP が確保されるように VM のトポロジを維持する必要があります。

Minroot 構成の確認

次に示すように、タスク マネージャーを使用してホストの minroot 構成を確認できます。

タスク マネージャーに表示されるホストの minroot 構成

Minroot がアクティブな場合、タスク マネージャーには、システム内の論理プロセッサの合計数に加えて、現在ホストに割り当てられている論理プロセッサの数が表示されます。