4 gprofngコマンド・リファレンス

この表は、gprofngコマンドに関する情報を示しています。

アクション コマンド 説明
パフォーマンス・データを収集します。 gprofng collect app

実行中のアプリケーションに関するパフォーマンス・データを収集し、それを実験ディレクトリに格納します。

端末でパフォーマンス結果を確認します。 gprofng display text

指定された実験ディレクトリのパフォーマンス・データをASCIIプレーンテキスト形式で表示します。

Webブラウザでパフォーマンス・データを確認します。 gprofng display html

指定された実験ディレクトリからHTML構造を生成します。

ソースおよび逆アセンブリ・コードを確認します。 gprofng display src

命令でインターリーブされたソース・コードを表示します。

実験ディレクトリをアーカイブします。 gprofng archive

共有ライブラリ、オブジェクト・ファイルおよびソース・コードを実験ディレクトリにコピーして、後で分析します。

パフォーマンス・データを収集および確認するためのグラフィカル・ユーザー・インタフェースを開きます。 gprofng display gui

gprofng-guiパッケージがインストールされている場合は、パフォーマンス・データを収集して実験を表示するためのグラフィカル・ユーザー・インタフェースを起動します。

パフォーマンス・データの収集

gprofng collect appコマンドを使用して実験を構成し、パフォーマンス・データを収集します。

パフォーマンス・データを収集するときに、-Oオプションを使用して実験ディレクトリを指定できます:

gprofng collect app -O experiment-directory-name.er /path/to/application -options

.erは、実験ディレクトリ名に必須の接尾辞であることに注意してください。

パフォーマンス・データの収集の詳細は、「gprofngの開始」を参照してください。

パフォーマンス・メトリックの分析

gprofng display textコマンドを使用して、実験で収集された様々なパフォーマンス・データを確認します。

各関数について収集されたパフォーマンス・データを分析するには、gprofng display textコマンドで-functionsオプションを使用します:

gprofng display text -functions experiment-directory-name.er 
Functions sorted by metric: Exclusive Total CPU Time

Excl. Total   Incl. Total    Name
CPU           CPU
 sec.      %   sec.      %
5.554 100.00  5.554 100.00   <Total>
5.274  94.95  5.274  94.95   mxv_core
0.140   2.52  0.270   4.86   init_data
0.090   1.62  0.110   1.98   erand48_r
0.020   0.36  0.020   0.36   __drand48_iterate
0.020   0.36  0.130   2.34   drand48
0.010   0.18  0.010   0.18   _int_malloc
0.      0.    0.280   5.05   __libc_start_main
0.      0.    0.010   0.18   allocate_data
0.      0.    5.274  94.95   collector_root
0.      0.    5.274  94.95   driver_mxv
0.      0.    0.280   5.05   main
0.      0.    0.010   0.18   malloc
0.      0.    5.274  94.95   start_thread

表示される関数の数を制限するには、次のように-limitオプションを使用します:

gprofng display text -limit 5 -functions experiment-directory-name.er 
Print limit set to 5
Functions sorted by metric: Exclusive Total CPU Time

Excl. Total   Incl. Total    Name
CPU           CPU
 sec.      %   sec.      %
5.775 100.00  5.775 100.00   <Total>
5.494  95.15  5.494  95.15   mxv_core
0.126   2.18  0.267   4.63   init_data
0.068   1.17  0.104   1.80   erand48_r
0.038   0.66  0.142   2.45   drand48

実験ディレクトリに収集されたすべてのメトリックをリストするには、他のオプションを指定せずに-metric_list オプションを使用します:

gprofng display text -metric_list experiment-directory-name.er
Current metrics: e.%totalcpu:i.%totalcpu:name
Current Sort Metric: Exclusive Total CPU Time ( e.%totalcpu )
Available metrics:
Exclusive Total CPU Time: e.%totalcpu
Inclusive Total CPU Time: i.%totalcpu
                    Size: size
              PC Address: address
                    Name: name

実験ディレクトリに収集されたメトリックを確定したら、-metricsオプションを使用して表示されるメトリックを選択し、それぞれを:文字で区切ります:

gprofng display text -metrics name:i.%totalcpu:e.%totalcpu -limit 10 -functions experiment-directory-name.er 
Current metrics: name:i.%totalcpu:e.%totalcpu
Current Sort Metric: Exclusive Total CPU Time ( e.%totalcpu )
Print limit set to 10
Functions sorted by metric: Exclusive Total CPU Time

Name                Incl. Total   Excl. Total
                    CPU           CPU
                     sec.      %   sec.      %
 <Total>            5.775 100.00  5.775 100.00
 mxv_core           5.494  95.15  5.494  95.15
 init_data          0.267   4.63  0.126   2.18
 erand48_r          0.104   1.80  0.068   1.17
 drand48            0.142   2.45  0.038   0.66
 __drand48_iterate  0.036   0.62  0.036   0.62
 _int_malloc        0.013   0.22  0.008   0.14
 sysmalloc          0.005   0.09  0.003   0.05
 brk                0.002   0.03  0.002   0.03
 __default_morecore 0.002   0.03  0.      0.

nameなどの特定のメトリックに従ってパフォーマンス・データをソートするには、-sortオプションを追加します:

gprofng display text -metrics name:i.%totalcpu:e.%totalcpu -sort name -limit 10 -functions experiment-directory-name.er 
Current metrics: name:i.%totalcpu:e.%totalcpu
Current Sort Metric: Exclusive Total CPU Time ( e.%totalcpu )
Current Sort Metric: Name ( name )
Print limit set to 10
Functions sorted by metric: Name

Name                Incl. Total   Excl. Total
                    CPU           CPU
                     sec.      %   sec.      %
 <Total>            5.775 100.00  5.775 100.00
 __default_morecore 0.002   0.03  0.      0.
 __drand48_iterate  0.036   0.62  0.036   0.62
 __libc_start_main  0.280   4.85  0.      0.
 _int_malloc        0.013   0.22  0.008   0.14
 allocate_data      0.013   0.22  0.      0.
 brk                0.002   0.03  0.002   0.03
 collector_root     5.494  95.15  0.      0.
 drand48            0.142   2.45  0.038   0.66
 driver_mxv         5.494  95.15  0.      0.

命令レベルまたはアセンブリ・レベルでメトリックを確認するには、-disasmオプションを使用して関数名を指定します:

gprofng display text -metrics e.totalcpu -disasm function-name experiment-directory-name.er

詳細は、https://sourceware.org/binutils/wiki/gprofngおよびgprofng(1)のマニュアル・ページを参照してください。

gprofng-guiの操作

gprofng-guiパッケージがインストールされている場合、gprofng display guiコマンドを使用して、gprofngコマンドのGUIフロントエンドを開きます。

グラフィカル・ユーザー・インタフェースでパフォーマンス・データを含む実験を確認するには、gprofng-guiパッケージで提供されるgprofng display guiコマンドを使用します:

gprofng display gui experiment1.er

複数の実験が指定されている場合、それらはまとめて集計されます。

グラフィカル・ユーザー・インタフェースでパフォーマンス・データを含む2つの実験を比較するには、-cオプションを使用します:

gprofng display gui -c experiment1.er experiment2.er

gprofng-guiツールの操作の詳細は、「Gprofng GUIの使用」を参照してください。