- 追加された行はこの色です。
- 削除された行はこの色です。
#topicpath
/////////////////////////////////////////////////////////////////////////////////
* 目次 [#p37d612e]
#contents();
/////////////////////////////////////////////////////////////////////////////////
* プロファリングとは [#k24b081a]
- どの関数が(1)どれだけ処理時間を消費するか、(2)何度呼ばれているか、(3)どの関数を呼んでいる/どの関数に呼ばれているか、などを測定することをプロファイリングという。
- 上記を計測するツールを ''プロファイラ'' と呼ぶ。
/////////////////////////////////////////////////////////////////////////////////
* 調査ツール [#vb8b89ff]
//===============================================================================
** gprof [#d7f2b7ec]
** perf [#perf]
//-------------------------------------------------------------------------------
*** 使い方 [#i6f4783f]
- debian では /bin/perf コマンド自体は最初から存在するが、実際の実行には linux-tools パッケージのインストールが必要になる。
- 実行
+ 記録
$ perf record <executable-file>
-- これでカレントディレクトリに
perf.data
というファイルが出来る。
+ 結果確認
$ perf report
//-------------------------------------------------------------------------------
*** 参考リンク [#perf-links]
- [[perfの使いかた>http://int.main.jp/txt/perf/]]
- [[6.4.2. Perf の使用方法 (RedHat)>https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Developer_Guide/perf-using.html]]
- [[perf を使ってプロファイルする方法(その1)>http://d.hatena.ne.jp/pyopyopyo/20140702/p1]]
//===============================================================================
** gprof [#gprof]
//-------------------------------------------------------------------------------
*** 使い方 [#i6f4783f]
+ 計測対象となるプログラムをビルドする際、 gcc/c++ のオプションに ''-pg'' を渡して実行する。
+ 上記でビルドしたプログラムを実行する
+ プログラムが終了すると、結果を格納した
gmon.out
というファイルが出力される。
+ 結果をみる
$ gprof <executable-program> gmon.out
/////////////////////////////////////////////////////////////////////////////////
* 参考リンク [#z823753c]
- [[minus9d's diary>http://minus9d.hatenablog.com/entry/20140112/1389502918]]
//-------------------------------------------------------------------------------
*** 参考リンク [#gprof-links]
- [[minus9d's diary - gprofを使いこなす>http://minus9d.hatenablog.com/entry/20140112/1389502918]]
- [[プロファイラ(gprof)>http://nenya.cis.ibaraki.ac.jp/TIPS/gprof.html]]
/////////////////////////////////////////////////////////////////////////////////
* 参考リンク [#i6772b45]
- [[CPU利用率, 高負荷なプロセスの特定の仕方>http://qiita.com/stsn/items/061827aae14541d0153b]]