6.2.2. OProfile の使用
oprofile
パッケージおよびその依存関係は、OProfile 実行に必要なすべてのユーティリティーをインストールします。OProfile にシステム上で実行中の全アプリケーションのプロファイルを行い、ライブラリーを使用しているアプリケーションで共有ライブラリーのサンプルをグループ化するように指示するには、以下のコマンドを実行します。
# opcontrol --no-vmlinux --separate=library --start
OProfile デーモンはシステムデータを収集せずに開始することもできます。これには、オプション
--start-daemon
を使用します。--stop
オプションはデータ収集を中止し、--shutdown
は OProfile デーモンを終了します。
収集されたプロファイルデータを表示するには、
opreport
か opannotate
、opgprof
を使用します。デフォルトでは、OProfile デーモンが収集したデータは /var/lib/oprofile/samples/
に保存されます。
OProfile と Performance Counters for Linux (PCL) ツールとの競合
OProfile と Performance Counters for Linux (PCL) は同じハードウェアの Performance Monitoring Unit (PMU) を使用します。PCL もしくは NMI ウォッチドッグタイマーがハードウェア PMU を使用している場合、OProfile 開始時に以下のようなメッセージが表示されます。
# opcontrol --start Using default event: CPU_CLK_UNHALTED:100000:0:1:1 Error: counter 0 not available nmi_watchdog using this resource ? Try: opcontrol --deinit echo 0 > /proc/sys/kernel/nmi_watchdog
システム上で稼働しているすべての
perf
コマンドを停止し、NMI ウォッチドッグをオフにして以下のコマンドで OProfile カーネルドライバーをリロードします。
# opcontrol --deinit
# echo 0 > /proc/sys/kernel/nmi_watchdog