A.3. Systemtap フライトレコーダーを使用して継続的にトレースデータを取得する
手順A.1 systemtap の設定および実行
パッケージをインストールします。
以下のコマンドを実行して systemtap-initscript パッケージをインストールします。#
yum install systemtap-initscript
設定ファイルをコピーします。
以下のコマンドを実行して 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
に対して行われ、フライトレコーダーのバッファーサイズやトレースをメモリーのみに保存するか、またはディスクにも保存するかどうかの制御が行われます。サービスを起動します。
以下のコマンドを実行して systemtap サービスを起動します。#
systemctl start systemtap qemu_kvm
起動時に実行するよう systemtap を有効にします。
以下のコマンドを実行して systemtap サービスを起動時に実行できるようにします。#
systemctl enable systemtap qemu_kvm
サービスが実行中であることを確認します。
以下のコマンドを実行してサービスが機能していることを確認します。#
systemctl status systemtap qemu_kvm
qemu_kvm is running...
手順A.2 トレースバッファーの検査
トレースバッファーのダンプファイルを作成します。
以下のコマンドを実行して、trace.log というバッファーダンプファイルを作成し、これを tmp ディレクトリーに置きます。#
staprun -A qemu_kvm >/tmp/trace.log
ファイル名と場所を他の名前に変更することができます。サービスを起動します。
直前のステップでサービスを停止したので、以下のコマンドを実行してサービスを再度起動します。#
systemctl start systemtap qemu_kvm
トレース内容を読み取り可能な形式に変換します。
トレースファイルの内容を読みやすい形式に変換するには、以下のコマンドを実行します。#
/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 ファイルがあります。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。