Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

23.5. データの分析

OProfile デーモンである oprofiled は定期的にサンプルを収集して、それらを/var/lib/oprofile/samples/ ディレクトリに書き込みます。そのデータを読み込む前に、root として以下のコマンドを実行することでこのディレクトリにすべてのデータが書き込まれていることを確認します:
~]# opcontrol --dump
各サンプル名は実行可能ファイルの名前を基にしてあります。例えば、Pentium III プロセッサ上の /bin/bash 用のデフォルトイベントのサンプルは以下のようになります:
\{root\}/bin/bash/\{dep\}/\{root\}/bin/bash/CPU_CLK_UNHALTED.100000
収集された後にそのサンプルデータのプロファイルに使用できるツールは以下のようになります:
  • opreport
  • opannotate
プロファイルされたバイナリとの併用でこれらのツールを使用すると更なる分析が可能になるレポートを生成できます。

警告

データを分析するためには、プロファイルされる実行可能ファイルがこれらのツールで使用される必要があります。データの収集後に実行可能ファイルの変更が必要な場合はサンプルの作成に使用された実行可能ファイル、及びサンプルファイルをバックアップしておきます。サンプルファイルとバイナリは一致しなければならないことに注意して下さい。これらが一致しないとバックアップの作成はうまくできません。この問題の対処には oparchive を使用することができます。
各実行可能ファイルのサンプルは単独のサンプルファイルに書き込まれます。動的にリンクした各ライブラリからのサンプルも単独のサンプルファイルに書き込まれます。監視されている実行可能ファイルが OProfile の実行中に変化して、実行可能ファイルのサンプルファイルが存在する場合は、存在するサンプルファイルは自動的に削除されます。そのため、存在中のサンプルファイルが必要な場合はバックアップが必要です。これは実行可能ファイルを新バージョンで入れ替える前にサンプルの作成に使用した実行可能ファイルと共にバックアップする必要があります。OProfile の分析ツールはサンプルの作成に使った実行可能ファイルを分析で使用します。実行可能ファイルが変化すると分析ツールは関連したサンプルを分析できなくなります。サンプルファイルのバックアップ方法については 「データの保存」 を参照して下さい。

23.5.1. opreport の使用

opreport ツールはプロファイルされるすべての実行可能ファイルについての概要を提供します。
サンプル出力の一部を以下に示します:
Profiling through timer interrupt
TIMER:0|
samples|      %|
------------------
25926 97.5212 no-vmlinux
359  1.3504 pi
65  0.2445 Xorg
62  0.2332 libvte.so.4.4.0
56  0.2106 libc-2.3.4.so
34  0.1279 libglib-2.0.so.0.400.7
19  0.0715 libXft.so.2.1.2
17  0.0639 bash
8  0.0301 ld-2.3.4.so
8  0.0301 libgdk-x11-2.0.so.0.400.13
6  0.0226 libgobject-2.0.so.0.400.7
5  0.0188 oprofiled
4  0.0150 libpthread-2.3.4.so
4  0.0150 libgtk-x11-2.0.so.0.400.13
3  0.0113 libXrender.so.1.2.2
3  0.0113 du
1  0.0038 libcrypto.so.0.9.7a
1  0.0038 libpam.so.0.77
1  0.0038 libtermcap.so.2.0.8
1  0.0038 libX11.so.6.2
1  0.0038 libgthread-2.0.so.0.400.7
1  0.0038 libwnck-1.so.4.9.0
各実行可能ファイルは独立した行で一覧表示されています。最初のカラムは実行可能ファイル用に記録されたサンプルの数です。2つめのカラムはサンプル合計に対するサンプルの相対的パーセンテージです。3つめのカラムは実行可能ファイルの名前を示します。
利用可能なコマンドラインオプションの一覧については opreport man ページを参照して下さい。サンプルの最小数からサンプルの最大数までの実行可能ファイルの出力を配列するために使用される -r オプションなどがあります。