Documentation Home
> Sun Studio 12: パフォーマンスアナライザ
Sun Studio 12: パフォーマンスアナライザ
Book Information
索引
A
C
D
E
F
G
I
J
L
M
N
O
P
R
S
T
V
X
あ
い
え
お
か
き
く
け
こ
さ
し
す
せ
そ
た
ち
て
と
に
ね
は
ひ
ふ
へ
ほ
ま
め
よ
ら
り
る
ろ
はじめに
第 1 章 パフォーマンスアナライザの概要
統合開発環境からのパフォーマンスアナライザの起動
パフォーマンス解析ツール
コレクタツール
パフォーマンスアナライザツール
er_print ユーティリティー
tcov ユーティリティー
「パフォーマンスアナライザ」ウィンドウ
従来の UNIX パフォーマンスツール
第 2 章 パフォーマンスデータ
コレクタが収集するデータの内容
時間データ
Solaris OS での時間ベースのプロファイル
Linux OS での時間ベースのプロファイル
ハードウェアカウンタオーバーフローのプロファイルデータ
ハードウェアカウンタのリスト
既知のハードウェアカウンタリストの形式
raw ハードウェアカウンタリストの形式
同期待ちトレースデータ
ヒープトレース (メモリー割り当て) データ
MPI トレースデータ
大域 (標本収集) データ
プログラム構造へのメトリックの対応付け
関数レベルのメトリック: 排他的、包括的、属性
属性メトリックの意味: 例
関数レベルのメトリックに再帰が及ぼす影響
第 3 章 パフォーマンスデータの収集
プログラムのコンパイルとリンク
ソースコード情報
静的リンク
コンパイル時の最適化
Java プログラムのコンパイル
データ収集と解析のためのプログラムの準備
動的割り当てメモリーの利用
システムライブラリの使用
シグナルハンドラの使用
setuid の使用
データ収集のプログラム制御
C/C++ インタフェース
Fortran インタフェース
Java インタフェース
C/C++、Fortran、および Java API 関数
動的な関数とモジュール
collector_func_load()
collector_func_unload()
データ収集に関する制限事項
時間ベースのプロファイルに関する制限事項
時間プロファイルによる実行時のひずみと実行時間の拡大
トレースデータの収集に関する制限事項
トレースによる実行時のひずみと実行時間の拡大
ハードウェアカウンタオーバーフローのプロファイルに関する制限事項
ハードウェアカウンタオーバーフローのプロファイルによる実行時のひずみと実行時間の拡大
派生プロセスのデータ収集における制限事項
Java プロファイルに関する制限事項
Java プログラミング言語で書かれたアプリケーションの実行時のひずみと実行時間の拡大
収集データの格納場所
実験名
実験の移動
必要なディスク容量の概算
データの収集
collect コマンドによるデータの収集
データ収集オプション
-p option
-h counter_definition_1 ...[,counter_definition_n]
-s option
-H option
-m option
-S option
-c option
-r option
実験制御オプション
-F option
-j option
-J java_argument
-l signal
-t <所要時間>
-x
-y signal[ ,r]
出力オプション
-o experiment_name
-d directory-name
-g group-name
-A option
-L size
-O file
その他のオプション
-C comment
-n
-R
-V
-v
collect ユーティリティーによる動作中のプロセスからのデータの収集
collect ユーティリティーを使用して動作中のプロセスからデータを収集する
dbx collector サブコマンドによるデータの収集
dbx からコレクタを実行する
データ収集のサブコマンド
profile option
hwprofile option
synctrace option
heaptrace option
mpitrace option
tha option
sample option
dbxsample { on | off }
実験制御のサブコマンド
disable
enable
pause
resume
sample record name
出力のサブコマンド
archive mode
limit value
store option
情報のサブコマンド
show
status
dbx による動作中のプロセスからのデータの収集
dbx の制御下にない動作中のプロセスからデータを収集する
動作中のプロセスからのトレースデータの収集
MPI プログラムからのデータの収集
MPI 実験の格納
デフォルトの MPI 実験名
デフォルト以外の MPI 実験名の指定
MPI 下での collect コマンドの実行
MPI の下で dbx を起動することによるデータ収集
ppgsz での collect の使用
第 4 章 パフォーマンスアナライザツール
パフォーマンスアナライザの起動
アナライザオプション
Java オプション
-j | --jdkhome jvm-path
-J jvm-options
制御オプション
-f | --fontsize size
-v | --verbose
情報オプション
-V | --version
-? | --h | --help
アナライザのデフォルト設定
パフォーマンスアナライザ GUI
メニューバー
ツールバー
アナライザデータ表示
データ表示、左の区画
「競合」タブ
「デッドロック」タブ
「関数」タブ
「呼び出し元 - 呼び出し先」タブ
「デュアルソース」タブ
「ソース/逆アセンブリ」タブ
「ソース」タブ
「行」タブ
「逆アセンブリ」タブ
「PC」タブ
「タイムライン」タブ
「リーク一覧」タブ
「データオブジェクト」タブ
「データレイアウト」タブ
「命令頻度」タブ
「統計」タブ
「実験」タブ
インデックスタブ
メモリーオブジェクトのタブ
データ表示、右の区画
「概要」タブ
「イベント」タブ
「リーク」タブ
「競合の詳細」タブ
「デッドロックの詳細」タブ
データ表示オプションの設定
「メトリック」タブ
「ソート」タブ
「ソース/逆アセンブリ」タブ
「書式」タブ
「タイムライン」タブ
「検索パス」タブ
「パスマップ」タブ
「タブ」タブ
データ表示オプションの保存
テキストとデータの検索
関数の表示と非表示
データのフィルタリング
実験の選択
標本の選択
スレッドの選択
LWP の選択
CPU の選択
実験の記録
マップファイルの生成と関数の順序の変更
アナライザのデフォルト設定
第 5 章 カーネルプロファイリング
カーネル実験
カーネルプロファイリング用のシステムの設定
er_kernel ユーティリティーの実行
カーネルのプロファイリング
負荷の下でのプロファイリング
カーネルと負荷の両方のプロファイリング
特定のプロセスまたはカーネルスレッドのプロファイリング
カーネルプロファイルの分析
第 6 章 er_print コマンド行パフォーマンス解析ツール
er_print の構文
メトリックリスト
関数リストを制御するコマンド
functions
metrics metric_spec
sort metric_spec
fsummary
fsingle function_name [N]
呼び出し元 - 呼び出し先リストを管理するコマンド
callers-callees
cmetrics metric_spec
csingle function_name [N]
csort metric_spec
リークリストと割り当てリストを管理するコマンド
leaks
allocs
ソースリストと逆アセンブリリストを管理するコマンド
pcs
psummary
lines
lsummary
source { filename | function_name } [ N]
disasm { 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
data_metrics metric_spec
data_sort
メモリーオブジェクトリストを制御するコマンド
memobj mobj_type
mobj_list
mobj_define mobj_type index_exp
インデックスオブジェクトリストを制御するコマンド
indxobj indxobj_type
indxobj_list
indxobj_define indxobj_type index_exp
indxobj_metrics metric_spec
indxobj_sort metric_spec
スレッドアナライザをサポートするコマンド
races
rdetail race_id
deadlocks
ddetail deadlock_id
実験、標本、スレッド、および LWP を一覧するコマンド
experiment_list
sample_list
lwp_list
thread_list
cpu_list
実験データのフィルタリングを制御するコマンド
フィルタ式の指定
filters filter_exp
フィルタリング用の標本、スレッド、LWP、および CPU の選択
選択リスト
選択用のコマンド
sample_select sample_spec
lwp_select lwp_spec
thread_select thread_spec
cpu_select cpu_spec
ロードオブジェクトの展開と短縮を制御するコマンド
object_list
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 }
その他の情報を出力するコマンド
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
その他のコマンド
mapfile load-object { mapfilename | - }
procstats
script file
version
quit
help
式の文法
er_print コマンドの例
第 7 章 パフォーマンスアナライザとそのデータの内容
データ収集の作用
実験の形式
archives ディレクトリ
派生プロセス
動的な関数
Java 実験
実験の記録
collect による実験
dbx でプロセスを生成する実験
dbx による実行中のプロセスの実験
パフォーマンスメトリックの解釈
時間ベースのプロファイリング
タイミングメトリックの精度
タイミングメトリックの比較
同期待ちトレースデータ
ハードウェアカウンタオーバーフローのプロファイリング
ヒープトレース
データ空間プロファイリング
MPI トレース
呼び出しスタックとプログラムの実行
シングルスレッド実行と関数の呼び出し
共有オブジェクト間の関数の呼び出し
シグナル
トラップ
末尾呼び出しの最適化
明示的なマルチスレッド化
Java テクノロジーベースのソフトウェア実行の概要
Java 呼び出しスタックとマシン呼び出しスタック
時間ベースのプロファイルとハードウェアカウンタオーバーフローのプロファイル
同期トレース
ヒープトレース
Java 処理の表現
ユーザー表現
上級ユーザー表現
マシン表現
OpenMP ソフトウェアの実行の概要
OpenMP プロファイルデータのユーザーモードの表示
擬似関数
ユーザーモード呼び出しスタック
OpenMP のメトリック
OpenMP プロファイルデータのマシン表現
不完全なスタック展開
中間ファイル
プログラム構造へのアドレスのマッピング
プロセスイメージ
ロードオブジェクトと関数
別名を持つ関数
一意でない関数名
ストリップ済み共有ライブラリの静的関数
Fortran の代替エントリポイント
クローン生成関数
インライン化された関数
コンパイラ生成の本体関数
アウトライン関数
動的にコンパイルされる関数
<未知> 関数
OpenMP 特殊関数
<JVM システム> 関数
<Java 呼び出しスタックが記録されていません> 関数
<切り詰められたスタック> 関数
<合計> 関数
ハードウェアカウンタオーバーフロープロファイルに関連する関数
インデックスオブジェクトへのパフォーマンスデータのマッピング
プログラムデータオブジェクトへのデータアドレスのマッピング
データオブジェクト記述子
<合計> データオブジェクト
<スカラー> データオブジェクト
<未知> データオブジェクトとその要素
メモリーオブジェクトへのパフォーマンスデータのマッピング
第 8 章 注釈付きソースと逆アセンブリデータについて
注釈付きソースコード
パフォーマンスアナライザの「ソース」タブのレイアウト
元のソース行の識別
「ソース」タブのインデックス行
コンパイラのコメント
共通部分式の除去
ループの最適化
関数のインライン化
並列化
注釈付きソースの特別な行
ソース行メトリック
ソース行メトリックの解釈
メトリックの形式
注釈付き逆アセンブリコード
注釈付き逆アセンブリの解釈
命令発行時のグループ化
命令発行遅延
ハードウェアカウンタオーバーフローの関連付け
「ソース」タブ、「逆アセンブリ」タブ、「PC」タブの特別な行
アウトライン関数
コンパイラ生成の本体関数
動的にコンパイルされる関数
Java ネイティブ関数
クローン生成関数
静的関数
包括的メトリック
分岐先
実験なしのソース/逆アセンブリの表示
-func
-{source,src} item tag
-disasm item tag
-{c,scc,dcc} com-spec
-outfile filename
-V
第 9 章 実験の操作
実験の操作
er_cp ユーティリティーを使った実験のコピー
er_mv ユーティリティーを使った実験の移動
er_rm ユーティリティーを使った実験の削除
その他のユーティリティー
er_archive ユーティリティー
-n
–q
–A
–F
-V
er_export ユーティリティー
© 2010, Oracle Corporation and/or its affiliates