# opcontrol --start && [filepath]
# opcontrol --stop
# opreport -c [filepath] or # opreport -c | grep [filename]
gcc -g でコンパイルしておけば,opannotate が使えて,プロファイリング後に
# opannotate -s [filepath]
とするとソースコード内で何行目が何回呼ばれたかが分かるっていう優れもの.
こりゃ便利.
しかし全体プロファイリングするんじゃなくてとあるアプリケーションのコールグラフだけ欲しいんだよなー.
とあるアプリケーションだけのプロファイル方法を調べなきゃ.
2010年10月19日火曜日
OProfileインストール
gprof だとマルチスレッドのアプリケーションのプロファイルがとれないという噂だったので,
OProf を使うことになりました.
OProf は gprof 同様,コールグラフもとれるし,マルチスレッドにも対応している優れものらしい.
インストール時のメモ.
まずはDownload OProfileから最新版のソースをダウンロード.
./configure をしたところ,ライブラリがいくつかないと言われた.
①configure: error: popt library not found
なので単純に yum install popt* で,poptライブラリをゲット.
(popt-devel.i386 : Development files for the popt library
popt-static.i386 : Static library for parsing command line parameters)
②configure: error: liberty library not found
yum で liberty を探しても見つからない.
ぐぐってみたら,Installing Oprofile | KernelTrapにいきついた.
そこで,yum install binutils-devel で,libertyライブラリをゲット.
(binutils-devel.i386 : BFD and opcodes static libraries and header files)
これで無事に ./congfigure → make → make install と,インストールを終えられた.
あとは
# opcontrol --start でプロファイル開始
# opcontrol --shutdown でプロファイル終了
# opreport でプロファイル結果の表示
/var/lib/oprofile/samples 内にデータが保存されていくようです.
これを変えたい場合は,--session-dir=で指定すればOK
取り急ぎここまで.
OProf を使うことになりました.
OProf は gprof 同様,コールグラフもとれるし,マルチスレッドにも対応している優れものらしい.
インストール時のメモ.
まずはDownload OProfileから最新版のソースをダウンロード.
./configure をしたところ,ライブラリがいくつかないと言われた.
①configure: error: popt library not found
なので単純に yum install popt* で,poptライブラリをゲット.
(popt-devel.i386 : Development files for the popt library
popt-static.i386 : Static library for parsing command line parameters)
②configure: error: liberty library not found
yum で liberty を探しても見つからない.
ぐぐってみたら,Installing Oprofile | KernelTrapにいきついた.
そこで,yum install binutils-devel で,libertyライブラリをゲット.
(binutils-devel.i386 : BFD and opcodes static libraries and header files)
これで無事に ./congfigure → make → make install と,インストールを終えられた.
あとは
# opcontrol --start でプロファイル開始
# opcontrol --shutdown でプロファイル終了
# opreport でプロファイル結果の表示
/var/lib/oprofile/samples 内にデータが保存されていくようです.
これを変えたい場合は,--session-dir=で指定すればOK
取り急ぎここまで.
登録:
投稿 (Atom)