Red Hat Training

A Red Hat training course is available for Red Hat Linux

22.3. kvm_stat

kvm_stat コマンドは、kvm カーネルモジュールからランタイム統計を取り込む python スクリプトです。kvm_stat コマンドは、kvm に見えているゲストの動作を診断するために使用できます。とくに、ゲストでのパフォーマンスに関する問題を診断します。現在、報告される統計は、システム全体のものであり、すべての実行中のゲストの動作が報告されます。このスクリプトを実行するには、qemu-kvm-tools パッケージをインストールする必要があります。『Red Hat Enterprise Linux 仮想化ホスト設定およびゲストインストールガイド』 を参照してください。
kvm_stat コマンドを使用する場合は、 kvm カーネルモジュールがロードされ、 debugfs がマウントされていなければなりません。 この機能のどちらかが有効でない場合、 debugfs または kvm モジュールを有効にするために必要なステップが出力されます。例を示します。
# kvm_stat
Please mount debugfs ('mount -t debugfs debugfs /sys/kernel/debug')
and ensure the kvm modules are loaded
debugfs をマウントしていない場合はマウントします。
# mount -t debugfs debugfs /sys/kernel/debug
kvm_stat の出力

kvm_stat コマンドにより、 ホストと全ゲストの統計値が出力されます。 この出力は、(Ctrl+c または q キーを使用して) コマンドを終了するまで 更新されます。

# kvm_stat

kvm statistics

efer_reload                 94       0
exits                  4003074   31272
fpu_reload             1313881   10796
halt_exits               14050     259
halt_wakeup               4496     203
host_state_reload	1638354   24893
hypercalls                   0       0
insn_emulation         1093850    1909
insn_emulation_fail          0       0
invlpg                   75569       0
io_exits               1596984   24509
irq_exits                21013     363
irq_injections           48039    1222
irq_window               24656     870
largepages                   0       0
mmio_exits               11873       0
mmu_cache_miss           42565       8
mmu_flooded              14752       0
mmu_pde_zapped           58730       0
mmu_pte_updated              6       0
mmu_pte_write           138795       0
mmu_recycled                 0       0
mmu_shadow_zapped        40358       0
mmu_unsync                 793       0
nmi_injections               0       0
nmi_window                   0       0
pf_fixed                697731    3150
pf_guest                279349       0
remote_tlb_flush             5       0
request_irq                  0       0
signal_exits                 1       0
tlb_flush               200190       0

変数に関する説明:

efer_reload
EFER (Extended Feature Enable Register) の再読み込みの回数
exits
VMEXIT の全コール数
fpu_reload
VMENTRY が FPU 状態を再ロードした回数 (ゲストが FPU - 浮動小数点演算ユニットを使用している場合、 fpu_reload が加算される)
halt_exits
halt コールによりゲストが終了した回数 (一般的にゲストが idle の場合、このタイプの終了が見られる)
halt_wakeup
halt から復帰した回数
host_state_reload
ホスト状態の完全再ロードの回数 (現在 MSR セットアップとゲスト MSR 読み込みを累計)
hypercalls
ゲストのハイパーバイザーサービスコール数
insn_emulation
ホストにより模倣されたゲストの命令数
insn_emulation_fail
insn_emulation 試行が失敗した回数
io_exits
I/O ポートアクセスによるゲストの終了回数
irq_exits
外部割り込みによるゲストの終了回数
irq_injections
ゲストに送信された割り込みの数
irq_window
顕著な割り込みウィンドウによるゲストの終了回数
largepages
現在使用中の大容量ページ数
mmio_exits
メモリーマップド I/O (MMIO) アクセスによるゲストの終了回数
mmu_cache_miss
作成された KVM MMU シャドウページ数
mmu_flooded
MMU ページへの極度な書き込み動作の検出回数 (個々の書き込み動作ではなく検出された書き込み動作をカウント)
mmu_pde_zapped
ページディレクトリーエントリー (PDE) の破棄動作の回数
mmu_pte_updated
ページテーブルエントリー (PTE) の破棄動作の回数
mmu_pte_write
ゲストのページテーブルエントリー (PTE) の書き込み動作の回数
mmu_recycled
再利用可能なシャドウページの数
mmu_shadow_zapped
無効になったシャドウページの数
mmu_unsync
まだリンク解除されていない非同期化ページの数
nmi_injections
ゲストへのマスク不能な割り込み (NMI) インジェクションの数
nmi_window
マスク不能な割り込み (NMI) ウィンドウによるゲスト終了の回数
pf_fixed
固定化した (非ページング) ページテーブルエントリーマップ (PTE) の数
pf_guest
ゲストに挿入されたページフォールトの数
remote_tlb_flush
リモート (sibling CPU) のトランスレーションルックアサイドバッファ (TLB) のフラッシュ要求の回数
request_irq
ゲスト割り込みウィンドウ要求の終了回数
signal_exits
ホストからの保留信号によるゲスト終了の回数
tlb_flush
ハイパーバイザーにより実行された tlb_flush 動作の回数

注記

kvm_stat コマンドからの出力情報は、/sys/kernel/debug/kvm/ ディレクトリー内に配置された擬似ファイルとして KVM ハイパーバイザーによってエキスポートされます。