3.7.2. OProfile

OProfile (oprofile) はシステム全体のパフォーマンス監視ツールです。プロセッサーにある専用のパフォーマンス監視ハードウェアを使用して、メモリの参照時期、L2 キャッシュ要求の回数、ハードウェア割り込みの受信回数など、カーネルとシステムの実行可能ファイルに関する情報を引き出します。また、プロセッサーの使用量やどのアプリケーションやサービスが最も使われているかなどの判断にも使用できます。
OProfileは、Eclipse OProfile プラグインを使って Eclipse でも使用可能です。このプラグインを使うと最も時間のかかるコードの分野を容易に見つけられ、OProfile のコマンドライン機能すべてが実行できます。また、この結果は高度に視覚化されたものになります。
ただし、OProfile には以下の制限があることに注意してください。
  • パフォーマンスのモニタリングサンプルが正確でない場合があります。プロセッサーは順番通りに指示を実行しない場合があるので、サンプルは割り込みを発生させた指示ではなく、近くの指示から記録される場合があります。
  • OProfile はシステム全体にわたり、プロセスが複数回にわたって開始・停止することを想定しているので、複数の実行からのサンプルが集積されます。つまり、以前の実行からのサンプルを削除する必要がある場合があります。
  • これは CPU 限定のプロセスでの問題の識別にフォーカスするので、他のイベント発生をロック状態で待つ間、スリープとなっているプロセスは識別しません。
OProfile の使用に関する詳細は、『導入ガイド』 を参照してください。これは http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/ から入手できます。または、システム上の oprofile ドキュメンテーションを参照してください。これは /usr/share/doc/oprofile-<version> にあります。