Show Table of Contents
第2章 パフォーマンス監視ツール
本章では、ゲストの仮想マシン環境の監視に使用するツールについて説明します。
2.1. perf kvm
ホストからゲストのオペレーティングシステムの統計値を収集し、分析するには、
perf コマンドに kvm オプションを付けて使用します。perf パッケージは perf コマンドを提供します。これは、以下のコマンドを実行してインストールできます。
# yum install perf
ホストで
perf kvm を使用するには、ゲストの /proc/modules ファイルと /proc/kallsyms ファイルにアクセスできなければなりません。ホストにファイルを転送してからそのファイルでレポートを実行するには、以下の手順 (手順2.1「ゲストの /proc ファイルをホストにコピーする」) を参照してください。
手順2.1 ゲストの /proc ファイルをホストにコピーする
重要
必要なファイルを /proc ディレクトリーから直接コピーしても (
scp などを使用)、コピーしたファイルは空になります。本セクションでは、まず、ゲストのファイルを一時的な場所に保存し (cat コマンドを使用)、その保存先からファイルをホストにコピーして、perf kvm で使用する手順を説明しています。
ゲストにログインしてファイルを保存する
ゲストにログインして、/proc/modulesと/proc/kallsymsを一時的な場所の/tmpに保存します。# cat /proc/modules > /tmp/modules # cat /proc/kallsyms > /tmp/kallsyms
一時ファイルをホストにコピーする
ゲストからログオフしたら、今度は次の例に示すscpコマンドを実行して一時的な場所に保存したファイルをホストにコピーします。必要に応じてホスト名と TCP ポートをご使用の値に置き換えてください。# scp root@GuestMachine:/tmp/kallsyms guest-kallsyms # scp root@GuestMachine:/tmp/modules guest-modules
これでゲストからの 2 つのファイル (guest-kallsymsとguest-modules) がホスト上にコピーされ、perf kvmで使用する準備が整いました。perf kvm でイベントの記録とレポートを実行する
前述の手順で入手したファイルを使って、ゲスト内のイベント、ホスト内のイベントのいずれかまたは両方を記録し、レポートできるようになりました。次のコマンドの例を実行します。# perf kvm --host --guest --guestkallsyms=guest-kallsyms \ --guestmodules=guest-modules record -a -o perf.data
注記
--host と --guest の両方をコマンドに使用すると、出力はperf.data.kvmというファイル名で保存されます。--host だけを使用すると、ファイル名はperf.data.hostになります。同じように、--guest のみを使用すると、そのファイル名はperf.data.guestになります。記録の動作を停止させる場合は Ctrl-C を押します。イベントをレポートする
記録のプロセスで取得したファイルを使って出力を新しいファイル「analyze」にリダイレクトする例を示します。perf kvm --host --guest --guestmodules=guest-modules report -i perf.data.kvm \ --force > analyze
記録したイベントを調べるため、analyzeファイルの内容を表示します。# cat analyze# Events: 7K cycles # # Overhead Command Shared Object Symbol # ........ ............ ................. ......................... # 95.06% vi vi [.] 0x48287 0.61% init [kernel.kallsyms] [k] intel_idle 0.36% vi libc-2.12.so [.] _wordcopy_fwd_aligned 0.32% vi libc-2.12.so [.] __strlen_sse42 0.14% swapper [kernel.kallsyms] [k] intel_idle 0.13% init [kernel.kallsyms] [k] uhci_irq 0.11% perf [kernel.kallsyms] [k] generic_exec_single 0.11% init [kernel.kallsyms] [k] tg_shares_up 0.10% qemu-kvm [kernel.kallsyms] [k] tg_shares_up [output truncated...]

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.