「perf record ./exe」を使用すると、「perf.data」というファイルが作成されます。しかし、「パフォーマンス レポート」を使用してデータを確認すると、何も表示されないのはなぜですか? 私の perf バージョンは「0.0.2.PERF」で、Open suse Linux Enterprise Server 11 (x86_64) を使用しています。
Ubuntuで同じことをするとうまくいきます.Open suseとUbuntuの間に違いはありますか?
はい、ubuntu と open suse の perf バイナリは異なるバージョンです。ソースから perf をコンパイルする方がよいでしょう (つまり、依存関係をインストールする権限がある場合)。linus のヒントの perf は、suse linux のものと比較して、機能とバグ修正の点で何光年も離れています。
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
<make coffee, or something>
$ cd linux/tools/perf
$ make prefix=/usr/local install install-man
<it will complain about missing libs here, if any, which you should be able
to deduce the corresponding rpm packages to install them from>
パフォーマンスの学習ソースについては、私見では十分ではありません。まず、wiki サイトで perf チュートリアルを読むことから始めました。次に、gmaneを介してperf-user メーリング リストをざっと調べました。(redhat で有名な) acmeによる オフボックス分析に関するこの投稿が、私が必要としていることに最も役立つことがわかりました。perf ユーザーのメーリング リストをざっと目を通してみるとよいでしょう。
最後に、perf の git ログ メッセージをざっと見て、人々が取り組んできた機能と修正を確認します。
$ cd tools/perf
$ git log -- .