29.5.2. 単一の実行可能ファイルでの opreport の使用
特定の実行ファイルに関するより詳細なプロファイル情報を取得するには、opreport を使用します。
~]# opreport mode executable
実行可能ファイル は、分析する実行可能ファイルへの完全パスである必要があります。モード は以下のいずれかになります。
-
-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/
ディレクトリーに対するセッションまたはディレクトリーへの完全パスを指定します。