21.4. kvm_stat
kvm_stat コマンドは、
kvm
カーネルモジュールからランタイム統計を取得する python スクリプトです。kvm_stat コマンドは、kvm
に表示されるゲストの動作を診断するために使用できます。特に、ゲストのパフォーマンスに関連する問題です。現在、報告されている統計はシステム全体を対象としており、実行中のすべてのゲストの動作が報告されます。このスクリプトを実行するには、qemu-kvm-tools パッケージをインストールする必要があります。
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) のリロードの数。
- 終了
- すべての
VMEXIT
呼び出しの数。 - fpu_reload
VMENTRY
が FPU の状態を再読み込みした回数。ゲストが浮動小数点ユニット (FPU) を使用している場合、fpu_reload は増分されます。- halt_exits
halt
呼び出しによるゲストの終了数。通常、このタイプの終了は、ゲストがアイドル状態になると表示されます。- halt_wakeup
halt
からのウェイクアップの数。- host_state_reload
- ホスト状態の完全なリロードの数 (現時点では tallies MSR 設定およびゲスト MSR 読み込み)。
- ハイパーコール
- ゲストハイパーバイザーサービス呼び出しの数。
- insn_emulation
- ホストによってエミュレートされたゲスト命令の数。
- insn_emulation_fail
insn_emulation
の試行に失敗した回数。- io_exits
- I/O ポートアクセスから終了するゲストの数。
- irq_exits
- 外部割り込みによるゲストの終了回数。
- irq_injections
- ゲストに送信された割り込みの数。
- irq_window
- 未処理の割り込みウィンドウから終了するゲストの数。
- ラージページ
- 現在使用中の大きなページの数。
- 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 コマンドからの出力情報は、KVM ハイパーバイザーによって
/sys/kernel/debug/kvm/
ディレクトリーにある疑似ファイルとしてエクスポートされます。