第 43章. OProfile

OProfileは、 低オーバーヘッドなシステムパフォーマンス監視ツールです。プロセッサのパフォーマンス監視ハードウェアを使用して メモリー参照時、L2キャッシュ要求数、ハードウェア割り込み回数など システム上 のカーネルや実行可能ファイルの情報を読み出します。 Red Hat Enterprise Linuxシステムで このツールを使用する場合は、oprofile RPM パッケージの インストールが必要です。

プロセッサの多くには専用のパフォーマンス監視ハードウェアが内蔵されています。 このハードによって、特定のイベント(例えば要求データがキャッシュにない場合など)の発生を検出することができます。 このハードウェアは通常、イベント発生毎に増分される1つ以上のカウンタ によって構成されます。 カウンタ値が"変わる"時に割り込みを行なえるため、パフォーマンス監視に よって生成される詳細情報量(とオーバーヘッド)を制御することができます。

OProfile はこのハードウェア(パフォーマンス監視ハードウェアがない場合は タイマベースの代用品)を使用して、 カウンタが割り込みをカウントするたびパフォーマンス関連データのサンプルを収集します。 サンプルは周期的にディスクに書き込みされます。 サンプルのデータは後にシステム レベル、アプリケーションレベルのパフォーマンスレポート生成に 使用されます。

誓要項目重要
 

Red Hat Enterprise Linux 3に対するOProfileのカーネルサポートは 2.5 開発カーネルでバックポートされたコードが基になっています。 OProfileドキュメントを参照する場合、カーネルのバージョンが2.4でも2.5 特有の機能がRed Hat Enterprise Linux 3 のOProfileに適応されます。同様に、2.4カーネル特有のOProfile機能はRed Hat Enterprise Linux 3には 適用されません

OProfileは便利なツールですが、 使用の限界を認識して使用してください。

Red Hat Enterprise Linuxではマルチプロセッサ(SMP)カーネルのみが OProfileのサポート有効となっています。 実行中のカーネルを検出するには、次のコマンドを入力して下さい。

uname -r

.entsmpで終るカーネルバージョンが表示された 場合、マルチプロセッサ カーネルが実行中です。そうでない場合は、マルチプロセッサシステムでなくても 配布CD又はRed Hat Networkを介して インストールして下さい。 マルチプロセッサカーネルにてシングルプロセッサを実行することができます。

43.1. ツール概要

表43-1oprofile パッケージより提供されるツールの概要を参照できます。

コマンド説明
opcontrol

収集データを設定します。 詳細は項43.2を参照下さい。

op_help

システムプロセッサの使用可能イベントとその簡単な説明が表示されます。

op_merge

同じ実行可能ファイルから、複数サンプルを結合します。詳細は 項43.5.4をご参照下さい。

op_timeプロファイルされた実行可能ファイル全ての概要を表示します。 詳細は項43.5.1 を参照下さい。
op_to_sourceアプリケーションがデバッギングシンボルでコンパイルされた場合に実行可能 ファイルの注釈付きソースを作成します。詳細は 項43.5.3 を参照下さい。
oprofiled

周期的にディスクへサンプルデーターを書き込むため、デーモンとして 実行されます。

oprofpp

プロファイルデータを読み出します。詳細は 項43.5.2 を参照下さい。

op_import

foreignバイナリ形式のサンプルデータベースファイルをシステムの native形式に変換します。 異なるアーキテクチャからサンプルデーターベース を分析する場合のみ、このオプション使用して下さい。

表 43-1. OProfileのコマンド