oprofile でユーザランドのプログラムのプロファイルを行う方法.
手順
- ユーザ空間のみをサンプリングし,カーネル空間はサンプリングしないようにする.
$ opcontrol --no-vmlinux
$ oprof_start
- サンプリングを開始する.
$ opcontrol --start
- ターゲットを実行する.
- サンプリングを停止する.
$ opcontrol --shutdown
- レポートを見る
$ opreport $ opreport --symbols <ターゲットのファイル名>
- source codeに annotation する.
ターゲットをデバッグ情報付きでビルドしていれば
source codeの各行にサンプリングの結果を付加して表示することができる.
このツールは,以前は op_to_source という名前だったみたい.
$ opannotate --source <ターゲットのファイル名> $ opannotate --assembly <ターゲットのファイル名>