免責事項: これは英文の記事 「Using Virtual CPU Performance Monitoring Counters (2030221)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
仮想 PMC には、基盤となる物理 CPU の PMC と同じ方法でアクセスします。詳細については、『Intel 64 and IA-32 Architectures Software Developer's Manual』と AMD の『BIOS and Kernel Developer's Guide (BKDG) 』を参照してください。
仮想 CPU パフォーマンス監視カウンタは vSphere Web Client を使用して有効化できます。「Enable Virtual CPU Performance Counters in the vSphere Web Client」を参照してください。
オプション | 説明 |
vpmc.freezeMode=hybrid | これはデフォルトの動作です。リタイアした命令 および リタイアしたブランチ イベントは、ゲスト命令のみをカウントします。CPU がハイパーバイザー命令を実行する場合、これらのイベントは増分しません。物理 CPU がゲスト命令またはハイパーバイザー命令を仮想マシンのために実行するたびに、その他すべてのイベントは増分します。仮想マシンが物理 CPU でスケジュール設定されていない場合、その仮想 PMC は常に増分を停止します。このように、ゲスト命令の比率に関連するメトリックは、仮想マシンでの命令の実行のコストの計算に使用することができます。たとえば、IPC (instructions per cycle) は、物理 CPU が仮想マシンの実行に使用されるサイクルごとにリタイア可能なゲスト命令の平均数を示します。 |
vpmc.freezeMode=guest | すべてのイベントが増分するのは、ゲスト命令が物理 CPU で直接実行している場合のみです。ハイパーバイザー コードが実行している場合、イベントは増分しません。 |
vpmc.freezeMode=vcpu | 物理 CPU が仮想マシンのためにゲスト コードまたはハイパーバイザー コードの実行に使用されている間、すべてのイベントは増分します。イベントが増分を停止するのは、仮想マシンがスケジュール設定解除されている間だけです。 |
場合によっては、パフォーマンス監視カウンタは仮想化できません。これは次の場合のように、ホストが別の使用目的に物理 CPU パフォーマンス カウンタを使用している場合に発生します。
仮想 PMC 機能が有効化されると、仮想マシンをホスト間で移行する前に追加の CPU 互換性チェックが実行されます。ソース CPU とターゲット CPU のパフォーマンス監視イベントは互換性がなければなりません。パフォーマンス監視イベントのリストは、ソース CPU とターゲット CPU で同じである必要があります。一般に、同じマイクロアーキテクチャに属している 2 つの CPU には、互換性のあるパフォーマンス監視イベントが含まれている必要があります。各 CPU のパフォーマンス監視イベントのリストについては、『Intel 64 and IA-32 Architectures Software Developer's Manual』と AMD の『BIOS and Kernel Developer's Guide (BKDG)』を参照してください。さらに、仮想マシンを正常に移行するには、ソース CPU で使用可能なすべてのカウンタがターゲット CPU でも使用できる必要があります。
Enhanced vMotion Compatibility を使用している仮想マシンで仮想パフォーマンス監視カウンタを有効化することはできません。