Red Hat Training

A Red Hat training course is available for RHEL 8

21.5. perf レコードで呼び出し先のデータを取得する

perf record ツールを設定して、どの関数がパフォーマンスプロファイル内の他の関数を呼び出しているかを記録することができます。これは、複数のプロセスが同じ関数を呼び出す場合にボトルネックを特定するのに役立ちます。

前提条件

  • perf のインストール で説明されているように、perf ユーザー領域ツールがインストールされている。

手順

  • --call-graph オプションを使用して、パフォーマンスデータのサンプルと記録を行います。

    $ perf record --call-graph method command
    • command を、サンプルデータを作成するコマンドに置き換えます。コマンドを指定しないと、Ctrl+C を押して手動で停止するまで perf record がデータのサンプリングを行います。
    • method を、以下のアンワインドメソッドのいずれかに置き換えます。

      fp
      フレームポインターメソッドを使用します。GCC オプション --fomit-frame-pointer でビルドされたバイナリーの場合など、コンパイラーの最適化により、スタックをアンワインドできない可能性があります。
      dwarf
      DWARF 呼び出し情報を使用してスタックのアンワインドを行います。
      lbr
      Intel プロセッサーで最後のブランチレコードハードウェアを使用します。

関連情報

  • man ページの perf-record(1)