Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

A.3. Systemtap Flight Recorder を使用した、Constant Basis でのトレースデータのキャプチャー

qemu-kvm パッケージで提供される systemtap initscript を使用して、QEMU トレースデータをすべてキャプチャーできます。このパッケージは SystemTap のフライトレコーダーモードを使用して、実行中のすべてのゲスト仮想マシンを追跡し、その結果をホスト上の固定サイズバッファーに保存します。古いトレースエントリーは、バッファーが満杯になると新しいエントリーによって上書きされます。

手順A.1 systemtap の設定および実行

  1. パッケージをインストールします。

    以下のコマンドを実行して systemtap-initscript パッケージをインストールします。
    # yum install systemtap-initscript
  2. 設定ファイルをコピーします。

    以下のコマンドを実行して systemtap スクリプトと設定ファイルを systemtap ディレクトリーにコピーします。
    # cp /usr/share/qemu-kvm/systemtap/script.d/qemu_kvm.stp /etc/systemtap/script.d/
    # cp /usr/share/qemu-kvm/systemtap/conf.d/qemu_kvm.conf /etc/systemtap/conf.d/
    有効にするトレースイベントのセットは qemu_kvm.stp にあります。この SystemTap スクリプトは、/usr/share/systemtap/tapset/qemu-kvm-simpletrace.stp で提供されるトレースイベントを追加または削除するためにカスタマイズできます。
    SystemTap カスタマイズを qemu_kvm.conf に実行し、フライトレコーダーバッファーサイズやトレースをメモリーのみまたはディスクに格納するかどうかを制御できます。
  3. サービスの起動

    以下のコマンドを実行して systemtap サービスを起動します。
    # systemctl start systemtap qemu_kvm
  4. Make systemtap enabled to run at boot time(システムの起動時に systemtap を有効化)

    以下のコマンドを実行して、システムの起動時に systemtap サービスを実行します。
    # systemctl enable systemtap qemu_kvm
  5. サービスの実行の確認

    以下のコマンドを実行して、サービスが機能していることを確認します。
    # systemctl status systemtap qemu_kvm
    qemu_kvm is running...
    

手順A.2 トレースバッファーの検査

  1. トレースバッファーのダンプファイルを作成します。

    以下のコマンドを実行して trace.log という名前のトレースバッファーダンプファイルを作成し、tmp ディレクトリーに配置します。
    # staprun -A qemu_kvm >/tmp/trace.log
    ファイル名と場所を別の値に変更できます。
  2. サービスの起動

    前の手順でサービスが停止したら、以下のコマンドを実行して再起動します。
    # systemctl start systemtap qemu_kvm
  3. トレース内容を読み取り可能な形式に変換します。

    トレースファイルの内容をより読みやすい形式に変換するには、以下のコマンドを実行します。
    # /usr/share/qemu-kvm/simpletrace.py --no-header /usr/share/qemu-kvm/trace-events /tmp/trace.log
注記
以下の注記および制限に注意してください。
  • systemtap サービスはデフォルトで無効にされます。
  • このサービスを有効にすると、パフォーマンスが若干低下します。ただし、合計で有効になっているイベントにより異なります。
  • /usr/share/doc/qemu-kvm-*/README.systemtap には、README ファイルがあります