第14章 OProfile
OProfile はオーバーヘッドが低く、システム全体のプロファイラーで、プロセッサー上のパフォーマンス監視ハードウェアを使用して、メモリーの参照時、レベル 2 キャッシュ (L2) 要求の数、ハードウェア割り込みの受信回数など、システム上のカーネルおよび実行可能ファイルに関する情報を取得します。これは、設定ユーティリティー、データ収集用のデーモン、および人間が判読可能なフォームに変換するのに使用できるツールで構成されます。OProfile の Red Hat Developer Toolset バージョンで配布されるツールの完全リストは、表14.1「Red Hat Developer Toolset の OProfile と配布されるツール」 を参照してください。
OProfile は、すべての n 番目のイベントの詳細を記録して、インストルメンテーションを追加せずにアプリケーションをプロファイルします。これにより、Valgrind よりも少ないリソースを消費できますが、そのサンプルの正確性も低くなります。Valgrind とは異なり、単一プロセスとユーザー空間内の子データのデータのみを収集するため、OProfile はユーザー空間およびカーネル空間プロセスの両方でシステム全体のデータを収集するのに適しており、実行する root
権限が必要になります。
Red Hat Developer Toolset には OProfile 1.4.0 が同梱されています。
名前 | 説明 |
---|---|
| Linux Performance Events サブシステムを使用して、単一プロセスまたはシステム全体のサンプルを記録します。 |
| プロファイリングデータからアノテーション付きのソースファイルまたはアセンブリーのリストを生成します。 |
| 実行ファイル、デバッグファイル、およびサンプルファイルを含むディレクトリーを生成します。 |
|
|
| 利用できるイベントのリストを表示します。 |
| サンプルデータベースファイルをネイティブバイナリー形式からネイティブ形式に変換します。 |
| just-in-time (JIT) ダンプファイルを Executable および Linkable Format (ELF) に変換します。 |
| プロファイリングセッションのイメージおよびシンボルの概要を生成します。 |
| 監視対象のコマンドの実行中に特定のイベントが発生する回数をカウントするための新しいツール。 |
14.1. OProfile のインストール
Red Hat Developer Toolset では、devtoolset-12-oprofile パッケージにより OProfile が提供され、「Red Hat Developer Toolset のインストール」 で説明されているように devtoolset-12-perftools で自動的にインストールされます。