oprofile で プロファイル.

oprofile でユーザランドのプログラムのプロファイルを行う方法.

参考URL

  • oprofile本家のぺーじ

http://oprofile.sourceforge.net/
CSSが腐っているので見づらい.

手順

  • ユーザ空間のみをサンプリングし,カーネル空間はサンプリングしないようにする.
$ opcontrol --no-vmlinux
  • サンプリングするイベントを設定する.qtで記述されたGUIで行うのだが,CPUのアーキテクチャを理解していないので設定方法もわからない orz.
$ oprof_start
  • サンプリングを開始する.
$ opcontrol --start
  • ターゲットを実行する.
  • サンプリングを停止する.
$ opcontrol --shutdown
  • レポートを見る
$ opreport  
$ opreport  --symbols <ターゲットのファイル名>
  • source codeに annotation する.

ターゲットをデバッグ情報付きでビルドしていれば
source codeの各行にサンプリングの結果を付加して表示することができる.

このツールは,以前は op_to_source という名前だったみたい.

$ opannotate --source  <ターゲットのファイル名>
$ opannotate --assembly  <ターゲットのファイル名>