Red Hat Training

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

23.5.2. 単独実行可能ファイルで opreport の使用

特定の実行可能ファイルに関する詳細にプロファイルされた情報を取り込むには、opreport を使用します:
~]# opreport mode executable
executable は、分析される実行可能ファイルへの完全パスでなければなりません。mode は以下のいずれかです:
-l
シンボル別にサンプルデータを一覧表示します。例えば、以下の例はコマンド opreport -l /lib/tls/libc-version.so の実行による出力の一部を示しています:
samples % symbol name 
12 21.4286 __gconv_transform_utf8_internal 
5 8.9286 _int_malloc 4 7.1429 malloc 
3 5.3571 __i686.get_pc_thunk.bx 
3 5.3571 _dl_mcount_wrapper_check 
3 5.3571 mbrtowc 
3 5.3571 memcpy 
2 3.5714 _int_realloc 
2 3.5714 _nl_intern_locale_data 
2 3.5714 free 
2 3.5714 strcmp 
1 1.7857 __ctype_get_mb_cur_max 
1 1.7857 __unregister_atfork 
1 1.7857 __write_nocancel 
1 1.7857 _dl_addr 
1 1.7857 _int_free 
1 1.7857 _itoa_word 
1 1.7857 calc_eclosure_iter 
1 1.7857 fopen@@GLIBC_2.1 
1 1.7857 getpid 
1 1.7857 memmove 
1 1.7857 msort_with_tmp 
1 1.7857 strcpy 
1 1.7857 strlen 
1 1.7857 vfprintf 
1 1.7857 write
最初のカラムはそのシンボルのサンプル数で、2つめのカラムは実行可能ファイル用の全体のサンプルに対して相対的なこのシンボルのサンプルのパーセンテージで、そして3つめのカラムはシンボルの名前です。
サンプルの最大数から最小数 (逆順) に出力を配列するには、-l オプションを-r オプションと併用して使用します。
-i symbol-name
シンボル名に特有のサンプルデータを一覧表示します。例えば、以下の例はコマンド opreport -l -i __gconv_transform_utf8_internal /lib/tls/libc-version.so の実行による出力を示しています:
samples % symbol name 
12 100.000 __gconv_transform_utf8_internal
最初の行はシンボルと実行可能ファイルの合同要約です。
最初のカラムはメモリーシンボルのサンプルの数です。2つめのカラムはシンボルのサンプル合計数に対して相対的なメモリーアドレスのサンプルのパーセンテージです。3つめのカラムはシンボル名です。
-d
シンボル別のサンプルデータを -l よりももっと詳細に一覧表示します。例えば、以下の例はコマンド opreport -l -d __gconv_transform_utf8_internal /lib/tls/libc-version.so の実行による出力を示しています:
vma samples % symbol name 
00a98640 12 100.000 __gconv_transform_utf8_internal 
00a98640 1 8.3333 
00a9868c 2 16.6667 
00a9869a 1 8.3333 
00a986c1 1 8.3333 
00a98720 1 8.3333 
00a98749 1 8.3333 
00a98753 1 8.3333 
00a98789 1 8.3333 
00a98864 1 8.3333 
00a98869 1 8.3333 
00a98b08 1 8.3333
データは -l オプションと同じですが、それ以外に各シンボル毎に使用される各仮想メモリーアドレスが示してあります。各仮想メモリーアドレスについては、そのサンプルの数とシンボル用のサンプル合計数に対するメモリーアドレスサンプルのパーセンテージが表示されています。
-x symbol-name
出力からコンマで隔離されたシンボルの一覧を除外します。
session:name
/var/lib/oprofile/samples/ ディレクトリに対して相対的となるセッション、またはディレクトリへの完全パスを指定します。