23.2. perf レコードで呼び出し先のデータを取得する
perf record ツールを設定して、どの関数がパフォーマンスプロファイル内の他の関数を呼び出しているかを記録することができます。これは、複数のプロセスが同じ関数を呼び出す場合にボトルネックを特定するのに役立ちます。
前提条件
-
perf のインストール で説明されているように、
perfユーザー領域ツールがインストールされている。
手順
--call-graphオプションを使用して、パフォーマンスデータのサンプルと記録を行います。perf record --call-graph method command
$ perf record --call-graph method commandCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
commandを、サンプルデータを作成するコマンドに置き換えます。コマンドを指定しないと、Ctrl+C を押して手動で停止するまでperf recordがデータのサンプリングを行います。 method を、以下のアンワインドメソッドのいずれかに置き換えます。
fp-
フレームポインターメソッドを使用します。GCC オプション
--fomit-frame-pointerでビルドされたバイナリーの場合など、コンパイラーの最適化により、スタックをアンワインドできない可能性があります。 dwarf- DWARF 呼び出し情報を使用してスタックのアンワインドを行います。
lbr- Intel プロセッサーで最後のブランチレコードハードウェアを使用します。
-