14.9. 仮想マシンのパフォーマンス監視ツール
最も多くの仮想マシンリソースを消費するものと、仮想マシンで最適化を必要とする部分を認識するために、一般的なパフォーマンス診断ツールや仮想マシン固有のパフォーマンス診断ツールを使用できます。
デフォルトの OS パフォーマンス監視ツール
標準のパフォーマンス評価には、ホストおよびゲストのオペレーティングシステムでデフォルトで提供されるユーティリティーを使用できます。
RHEL 9 ホストで、root として
topユーティリティーまたは システムモニター アプリケーションを使用し、出力結果からqemuとvirtを見つけます。これは、仮想マシンが消費しているホストシステムのリソースのサイズを示します。-
監視ツールにおいて、
qemuプロセスまたはvirtプロセスのいずれかで、ホストの CPU またはメモリーの容量を大幅に消費していることが示されている場合は、perfユーティリティーを使用して調査を行います。詳細は以下を参照してください。 -
また、
vhost_netスレッドプロセス (例: vhost_net-1234) が、ホストの CPU 容量を過剰に消費する際に表示される場合は、multi-queue virtio-netなどの 仮想ネットワークの最適化機能 を使用することを検討してください。
-
監視ツールにおいて、
ゲストオペレーティングシステムでは、システムで利用可能なパフォーマンスユーティリティーとアプリケーションを使用して、どのプロセスが最も多くのシステムリソースを消費するかを評価します。
-
Linux システムでは、
topユーティリティーを使用できます。 - Windows システムでは、Task Manager アプリケーションを使用できます。
-
Linux システムでは、
perf kvm
perf ユーティリティーを使用して、RHEL 9 ホストのパフォーマンスに関する仮想化固有の統計を収集および分析できます。これを行うには、以下を行います。
ホストに、perf パッケージをインストールします。
dnf install perf
# dnf install perfCopy to Clipboard Copied! Toggle word wrap Toggle overflow perf kvm statコマンドの 1 つを使用して、仮想化ホストの perf 統計を表示します。-
お使いのハイパーバイザーのリアルタイム監視には、
perf kvm stat liveコマンドを使用します。 -
一定期間でハイパーバイザーの perf データをログに記録するには、
perf kvm stat recordコマンドを使用してロギングを有効にします。コマンドをキャンセルまたは中断した後、データはperf.data.guestファイルに保存されます。これは、perf kvm stat reportコマンドを使用して分析できます。
-
お使いのハイパーバイザーのリアルタイム監視には、
VM-EXITイベントとそのディストリビューションのタイプについてperf出力を分析します。たとえば、PAUSE_INSTRUCTIONイベントは頻繁に存在すべきではありませんが、以下の出力では、このイベントが頻繁に現れ、ホスト CPU が vCPU を適切に処理していないことを示しています。このようなシナリオでは、アクティブな一部の仮想マシンの電源オフ、その仮想マシンからの vCPU の削除、または vCPU のパフォーマンスの調整 を検討してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow perf kvm statの出力で問題を知らせる他のイベントタイプには、以下が含まれます。-
INSN_EMULATION- 準最適な 仮想マシンの I/O 設定 を示します。
-
perf を使用して仮想化パフォーマンスを監視する方法の詳細は、システム上の perf-kvm man ページを参照してください。
numastat
システムの現在の NUMA 設定を表示するには、numastat ユーティリティーを使用できます。これは numactl パッケージをインストールすることで利用できます。
以下は、4 つの実行中の仮想マシンが含まれるホストを示しています。それぞれは、複数の NUMA ノードからメモリーを取得しています。これは、vCPU のパフォーマンスに対して最適なのではなく、保証調整 です。
一方、以下では、1 つのノードで各仮想マシンに提供されているメモリーを示しています。これは、より一層効率的です。