Linuxのカーネルから割り込み、ドライバからアプリケーションまで、システムワイドなプロファイリングが出来るOProfileというのがあるようです。Linuxで仕事している人、特に組込みのような性能のタイトなシステムや、複数プロセスが絡むサーバシステムなんかで有効そうなソフト。
概要ページに列記されている特長をざくっとまとめると
- 特にデバッグコードを入れなくてよく、モジュールをロードするだけ
- システム内の全てのコードをプロファイル
- 関数呼び出しグラフのサポート
- オーバヘッドが少ない(1-8%)
- プロファイルデータの分析
- 多くのシステムで動く。(Intel, AMD, ARM, Alphaで、kernel 2.2, 2.4, 2.6)
だそうです。なかなか面白そうですね。
これで見えにくいシステム全体の負荷や性能低下の原因などが調べることが出来るかもしれません。ソフトはまだAlpha版だそうですが、ラップトップから16way CPUのIBMのサーバまでのシステムで安定動作しているそうです。
今のところ近々に使うあてはないのですが、いずれお世話になりそうです。