Intel のパフォーマンス監視ハードウェアを Hyper-V 仮想マシンで有効にする

Intel プロセッサには、総称してパフォーマンス監視ハードウェア (PMU、PEBS、LBR など) と呼ばれる機能が含まれています。 これらの機能は、Intel VTune アンプのようなパフォーマンス チューニング ソフトウェアがソフトウェアのパフォーマンスを解析するために使用します。 Windows Server 2019 および Windows 10 バージョン 1809 より前では、Hyper-V が有効のときホスト オペレーティング システムと Hyper-V ゲスト仮想マシンのどちらもパフォーマンス監視ハードウェアを使用できませんでした。 Windows Server 2019 および Windows 10 バージョン 1809 以降では、ホスト オペレーティング システムはパフォーマンス監視ハードウェアに既定でアクセスできます。 Hyper-V ゲスト仮想マシンには既定ではアクセス権がありませんが、Hyper-V 管理者が 1 つまたは複数のゲスト仮想マシンにアクセス権を付与することを選択できます。 このドキュメントでは、パフォーマンス監視ハードウェアをゲスト仮想マシンに公開するために必要な手順について説明します。

要件

仮想マシンでパフォーマンス監視ハードウェアを有効にするには、次のものが必要です。

  • パフォーマンス監視ハードウェア (PMU、PEBS、LBR など) を搭載した Intel プロセッサ。 システムでサポートされているパフォーマンス監視ハードウェアを調べるには、Intel の こちらのドキュメント を参照してください。
  • Windows Server 2019 または Windows 10 バージョン 1809 (2018 年 10 月更新) 以降
  • 入れ子になった仮想化使用しないHyper-V 仮想マシン (停止状態でもあります)

今後の Intel Processor Trace (IPT) パフォーマンス監視ハードウェアを仮想マシンで有効にするには、次のものが必要です。

  • IPT と PT2GPA 機能をサポートする Intel プロセッサ。 [^1] システムでサポートされているパフォーマンス監視ハードウェアを調べるには、Intel の こちらのドキュメント を参照してください。
  • Windows Server バージョン 1903 (SAC) または Windows 10 バージョン 1903 (2019 年 5 月更新) 以降
  • 入れ子になった仮想化使用しないHyper-V 仮想マシン (停止状態でもあります)
  • コマンド ラインで次に示すコマンドを使用して PMU を有効にする必要があります。

[^ 1]: PT2GPA は、"Intel PT がゲスト物理アドレスを使用する" ビットを指します。 この詳細については、Intel SDM の 25.5.4.1 を参照してください。

仮想マシンでパフォーマンス監視コンポーネントを有効にする

特定のゲスト仮想マシンでさまざまなパフォーマンス監視コンポーネントを有効にするには、Set-VMProcessor PowerShell コマンドレットを使用し、管理者として実行します。

注意

仮想マシンの世代は 9.1 以降でなければなりません。 入れ子になった仮想化もゲストに提供される場合は、9.3 以降が必要です。

# Enable IPT
Set-VMProcessor MyVMName -Perfmon @("ipt", "pmu")
# Enable all components
Set-VMProcessor MyVMName -Perfmon @("ipt", "pmu", "lbr", "pebs")
# Disable all components
Set-VMProcessor MyVMName -Perfmon @()

注意

パフォーマンス監視コンポーネントを有効にするとき、"pebs" が指定 されている場合は、"pmu" も指定する必要があります。
PEBS は、PMU バージョン >= 4 のハードウェアだけでサポートされています。
また、"ipt" を有効にしようとするすべてのコマンドで "pmu" も指定する必要があります。

ホストの物理プロセッサでサポートされていないコンポーネントを有効にすると、仮想マシンの起動が失敗します。

保存/復元、エクスポート、ライブ マイグレーションのパフォーマンス監視ハードウェアを有効にした場合の影響

Microsoft では、異なる Intel ハードウェアを搭載したシステム間での、パフォーマンス監視ハードウェアを使用した仮想マシンのライブ マイグレーションや保存/復元を推奨していません。 特定のパフォーマンス監視ハードウェアの動作は非体系的であることが多く、Intel ハードウェア システム間で変化します。 実行中の仮想マシンを異なるシステム間で移動すると、非体系的カウンターが予期しない動作を起こす可能性があります。