JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.2: パフォーマンスアナライザ
search filter icon
search icon

ドキュメントの情報

はじめに

1.  パフォーマンスアナライザの概要

2.  パフォーマンスデータ

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

4.  パフォーマンスアナライザツール

5.   er_print コマンド行パフォーマンス解析ツール

er_print の構文

メトリックリスト

関数リストを制御するコマンド

functions

metrics metric_spec

sort metric_spec

fsummary

fsingle function_name [N]

呼び出し元 - 呼び出し先リストを管理するコマンド

callers-callees

csingle function_name [N]

cprepend function-name [N | ADDR]

cappend function-name [N | ADDR]

crmfirst

crmlast

呼び出しツリーリストを制御するコマンド

calltree

リークリストと割り当てリストを管理するコマンド

leaks

allocs

ソースリストと逆アセンブリリストを管理するコマンド

pcs

psummary

lines

lsummary

source|src { filename | function_name } [ N]

disasm|dis { filename | function_name } [ N]

scc com_spec

sthresh value

dcc com_spec

dthresh value

cc com_spec

setpath path_list

addpath path_list

pathmap old-prefix new-prefix

ハードウェアカウンタデータ空間およびメモリーオブジェクトリストを制御するコマンド

data_objects

data_single name [N]

data_layout

memobj mobj_type

mobj_list

mobj_define mobj_type index_exp

インデックスオブジェクトリストを制御するコマンド

indxobj indxobj_type

indxobj_list

indxobj_define indxobj_type index_exp

OpenMP インデックスオブジェクトのコマンド

OMP_preg

OMP_task

スレッドアナライザ対応コマンド

races

rdetail race_id

deadlocks

ddetail deadlock_id

実験、標本、スレッド、および LWP を一覧表示するコマンド

experiment_list

sample_list

lwp_list

thread_list

cpu_list

実験データのフィルタリングを制御するコマンド

フィルタ式の指定

filters filter_exp

フィルタ式のオペランドトークンの一覧表示

describe

フィルタリング用の標本、スレッド、LWP、および CPU の選択

選択リスト

選択用のコマンド

sample_select sample_spec

lwp_select lwp_spec

thread_select thread_spec

cpu_select cpu_spec

ロードオブジェクトの展開と短縮を制御するコマンド

object_list

object_show object1,object2,...

object_hide object1,object2,...

object_api object1,object2,...

objects_default

object_select object1,object2,...

メトリックスを一覧するコマンド

metric_list

cmetric_list

data_metric_list

indx_metric_list

出力を制御するコマンド

outfile { filename | - }

appendfile filename

limit n

name { long | short } [ :{ shared_object_name | no_shared_object_name } ]

viewmode { user| expert | machine }

compare { on | off }

その他の情報を出力するコマンド

header exp_id

ifreq

objects

overview exp_id

statistics exp_id

デフォルト値を設定するコマンド

dmetrics metric_spec

dsort metric_spec

en_desc { on | off | =regexp }

パフォーマンスアナライザにのみデフォルト値を設定するコマンド

tabs tab_spec

rtabs tab_spec

tlmode tl_mode

tldata tl_data

その他のコマンド

procstats

script file

version

quit

help

式の文法

フィルタ式の例

er_print コマンドの例

6.  パフォーマンスアナライザとそのデータについて

7.  注釈付きソースと逆アセンブリデータについて

8.  実験の操作

9.  カーネルプロファイリング

索引

ソースリストと逆アセンブリリストを管理するコマンド

ここでは、注釈付きソースおよび逆アセンブリコードの表示を制御するコマンドを説明します。

pcs

現在のソートメトリックで整列されたプログラムカウンタ (Program Counter、PC) と、そのメトリックスのリストを出力します。このリストには、object_select コマンドで関数を非表示にした各ロードオブジェクトのメトリックスを集計した行が含まれています。

psummary

PC リスト内の各 PC の概要メトリックスパネルを現在のソートメトリックスで指定された順序で出力します。

lines

現在のソートメトリックで整列されたソース行と、そのメトリックスのリストを出力します。このリストには、行番号情報を持っていない各関数またはソースファイルが未知である各関数のメトリックスを集計した行と、object_select コマンドで関数を非表示している各ロードオブジェクトのメトリックスを集計した行が含まれています。

lsummary

行リスト内の各行の概要メトリックスパネルを現在のソートメトリックで指定された順序で出力します。

source|src { filename | function_name } [ N]

指定したファイル、または指定した関数を含むファイルの注釈付きソースコードを出力します。いずれの場合も、指定したファイルはパスの通っているディレクトリに存在する必要があります。ソースが GNU Fortran コンパイラでコンパイルされている場合は、ソースに表示されるように、関数名のあとにアンダースコアを 2 つ追加する必要があります。

省略可能なパラメータ N (正の整数) は、ファイル名または関数名があいまいでない場合にだけ使用します。このパラメータを指定した場合は、N 番目の候補が使用されます。番号指定のないあいまいな名前が指定された場合、er_print ユーティリティーはオブジェクトファイル名の候補のリストを表示します。指定された名前が関数の場合は、その関数名がオブジェクトファイル名に追加され、そのオブジェクトファイルの N の値を表す番号も出力されます。

関数名は function"file" としても指定できます。この場合、file は、関数の代替ソースコンテキストを指定するために使用されます。最初の命令の直後にその関数のインデックス行が追加されます。インデックス行は、次の書式で山括弧内にテキストとして表示されます。

<Function: f_name>

関数のデフォルトソースコンテキストは、その関数の最初の命令が帰するソースファイルとして定義されます。これは通常、関数を含むオブジェクトモジュールを生成するためにコンパイルされたソースファイルです。代替ソースコンテキストは、関数に属する命令を含むほかのファイルから構成されます。このようなコンテキストには、インクルードファイルの命令と、指定の関数にインライン化された関数の命令が含まれます。代替のソースコンテキストが存在する場合、デフォルトのソースコンテキストの冒頭に、代替ソースコンテキストが置かれている場所を示す拡張インデックス行のリストを次の形式で組み込みます。

<Function: f, instructions from source file src.h>


注 - コマンド行から er_print ユーティリティーを起動するときに -source 引数を使用する場合は、file の引用符の前にバックスラッシュのエスケープ文字を付加する必要があります。つまり、関数名の形式は、function\"file\" となります。er_print ユーティリティーが対話モードにあるときは、バックスラッシュは不要です。使用しないでください。


通常、デフォルトのソースコンテキストが使用された場合は、そのファイルに入っているすべての関数についてメトリックスが表示されます。ファイルを明示的に指定した場合は、指定した関数についてのみ、メトリックスが表示されます。

disasm|dis { filename | function_name } [ N]

指定したファイル、または指定した関数を含むファイルの注釈付き逆アセンブリコードを出力します。指定したファイルは、パスの通っているディレクトリに存在する必要があります。

省略可能なパラメータ N の意味は、source コマンドと同じです。

scc com_spec

注釈付きソースのリストに含めるコンパイラのコメントクラスを指定します。クラスリストはコロンで区切ったクラスのリストであり、次のメッセージクラスがゼロ個以上含まれています。

表 5-4 コンパイルコメントメッセージクラス

クラス
意味
b[asic]
基本的なレベルのメッセージを表示します。
v[ersion]
ソースファイル名、最終修正日付、コンパイラコンポーネントのバージョン、コンパイル日付とオプションなどのバージョンメッセージを表示します。
pa[rallel]
並列化に関するメッセージを表示します。
q[uery]
最適化に影響するコードに関する問い合わせメッセージを表示します。
l[oop]
ループの最適化と変換に関するメッセージを表示します。
pi[pe]
ループのパイプライン化に関するメッセージを表示します。
i[nline]
関数のインライン化に関するメッセージを表示します。
m[emops]
ロード、ストア、プリフェッチなどのメモリー操作に関するメッセージを表示します。
f[e]
フロントエンドのメッセージを表示します。
co[degen]
コードジェネレータのメッセージを表示します。
cf
ソースの下部にコンパイラのフラグを表示します。
all
すべてのメッセージを表示します。
none
メッセージを表示しません。

all および none クラスは常に単独で指定します。

scc コマンドを省略した場合は、basic がデフォルトのクラスになります。class-list が空の状態で scc コマンドを入力した場合、コンパイラのコメントは出力されません。通常、scc コマンドは、.er.rc ファイルでのみ使用します。

sthresh value

注釈付きソースコードでのメトリックスの強調表示に使用するしきい値の百分率を指定します。ファイル内のソース行で、メトリック値が、そのメトリックの最大値の value % 以上である場合、そのメトリックが発生する行の先頭に ## が挿入されます。

dcc com_spec

注釈付き逆アセンブリリストに含めるコンパイラのコメントクラスを指定します。クラスリストは、コロンで区切られたクラスのリストです。利用可能なクラスのリストは、表 5-4に示す注釈付きソースコードリストのクラスリストと同じです。クラスリストには、次のオプションを追加できます。

表 5-5 dcc コマンドの追加オプション

オプション
意味
h[ex]
命令の 16 進値を示します。
noh[ex]
命令の 16 進値を示しません。
s[rc]
ソースリストと注釈付き逆アセンブリリストをインタリーブします。
nos[rc]
ソースリストと注釈付き逆アセンブリリストをインタリーブしません。
as[rc]
注釈付きソースコードと注釈付き逆アセンブリリストをインタリーブします。

dthresh value

注釈付き逆アセンブリコードでのメトリックスの強調表示に使用するしきい値の百分率を指定します。ファイル内の命令行で、メトリック値が、そのメトリックの最大値の value % 以上である場合、そのメトリックが発生する行の先頭に ## が挿入されます。

cc com_spec

注釈付きのソースと逆アセンブリリストに含めるコンパイラのコメントクラスを指定します。クラスリストは、コロンで区切られたクラスのリストです。利用可能なクラスのリストは、表 5-4 に示す注釈付きソースコードリストのクラスリストと同じです。

setpath path_list

ソースファイルやオブジェクトファイルの検索に使用するパスを設定します。path_list は、コロンで区切られたディレクトリのリストです。ディレクトリ名にコロン文字がある場合は、バックスラッシュでコロンをエスケープします。特別なディレクトリ名 $expts は、現在の実験を読み込まれた順序で示します。これは、$ の 1 文字に短縮できます。

デフォルトの設定は、$expts:.. です。現在のパス設定の検索時にファイルが見つからなかった場合は、コンパイルされているフルパス名が使用されます。

引数のない setpath は、現在のパスを出力します。

addpath path_list

現在の setpath の設定に path_list を付加します。

pathmap old-prefix new-prefix

addpath または setpath で設定された path_list を使用してファイルが見つからなかった場合、pathmap コマンドを使用して、1 つまたは複数のパスの再マッピングを指定できます。ソースファイル、オブジェクトファイル、または共有オブジェクトのパス名が old-prefix で指定した接頭辞で始まる場合、古い接頭辞は new-prefix で指定した接頭辞に置き換えられます。結果のパスは、ファイルの検索に使用されます。複数の pathmap コマンドが提供されており、それぞれが、ファイルが見つかるまで試行されます。