Ubuntu > プロファイラ

更新日 2014-04-21
広告

gprof

gprofは、主にアプリケーションレベルのプロファイリングを行います。 gprofを使用するためには、プロファイルしたいプログラムをgccでコンパイルするさいに、-pg オプションをつける必要があります。
$ gcc -pg main.c
そして、普通にプログラムを実行します。すると、gmon.out というファイルが出力されているはずです。
$ gprof a.out gmon.out
上記のように、プログラムとgmon.outを指定することで、どの関数が何度呼ばれているかや、関数の実行にかかった時間の合計を見れます。

perf

Ubuntu 12.04だと、apt-getでOProfileをインストールできません(サポートされていないため)。 perfコマンドを使えば、OProfileのように、カーネルレベルのプロファイルが可能です。
$ sudo apt-get install linux-tools linux-tools-3.2
インストールされたlinux-toolsのバージョンと、uname -r で出るバージョンが一致していないと、perfコマンドはエラーを出力します。カーネルを独自にビルドしている場合は、バージョンに注意してください。
$ sudo perf record a.out
上記のように、プログラムを実行する際に、sudo perf recordをつければよいです。 プログラムを停止すると、perfコマンドはプロファイル結果をファイルに出力します。 次に、以下のように、perf report を実行すれば、プロファイル結果を閲覧できます。
$ sudo perf report
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system