ここでは、コレクタが収集するデータの種類を制御するサブコマンドをまとめています。実験がアクティブな場合は、警告メッセージが出力され、サブコマンドは無視されます。
時間ベースのプロファイルデータの収集を制御します。option には次のいずれかの値を指定できます。
on– デフォルトのプロファイル間隔 (10 ミリ秒) で時間ベースのプロファイルを有効にします。
off– 時間ベースのプロファイルを無効にします。
timer interval– プロファイル間隔を設定します。interval には次のいずれかの値を指定できます。
on– デフォルトのプロファイル間隔 (約 10 ミリ秒) を使用します。
lo[w]– 低分解能のプロファイル間隔 (約 100 ミリ秒) を使用します。
hi[gh]– 高分解能のプロファイル間隔 (約 1 ミリ秒) を使用します。高分解能のプロファイルについては、「時間ベースのプロファイルに関する制限事項」を参照してください。
value– プロファイル間隔を value に設定します。value のデフォルトの単位はミリ秒です。value は、整数または浮動小数点数として指定できます。オプションとして、数値の後ろに接尾辞 m を付けてミリ秒単位を選択するか、u を付けてマイクロ秒単位を選択することができます。プロファイル間隔は、時間の分解能の倍数である必要があります。時間の分解能値よりも大きな値であっても倍数でない場合は、端数が切り捨てられます。時間の分解能値よりも小さな値の場合は、時間の分解能に設定されます。どちらの場合にも、警告メッセージが表示されます。
デフォルトの設定は約 10 ミリ秒です。
デフォルトでは、hwprofile サブコマンドを使用してハードウェアカウンタオーバーフローのプロファイルデータ収集が有効になっていないかぎり、コレクタは時間ベースのプロファイルデータを収集します。
ハードウェアカウンタオーバーフローのプロファイルデータの収集を制御します。ハードウェアカウンタオーバーフローのプロファイル機能をサポートしていないシステム上でこの機能を有効にしようとすると、dbx から警告メッセージが返され、コマンドは無視されます。option には次のいずれかの値を指定できます。
on– ハードウェアカウンタオーバーフローのプロファイルを有効にします。デフォルトでは、通常のオーバーフロー値で cycles カウンタのデータが収集されます。
off– ハードウェアカウンタオーバーフローのプロファイルを無効にします。
list– 使用可能なカウンタの一覧を返します。一覧については、「ハードウェアカウンタのリスト」を参照してください。ハードウェアカウンタオーバーフローのプロファイル機能がシステムでサポートされていない場合は、dbx から警告メッセージが返されます。
counter counter_definition... [, counter_definition ]– カウンタ定義には、プロセッサがハードウェアカウンタの属性をサポートしているかどうかに応じて、次のいずれかの形式を使用できます。
[+] counter_name[/ register_number][,interval ]
[+]counter_name[~ attribute_1=value_1]...[~attribute_n =value_n][/ register_number][,interval ]
ハードウェアカウンタの name を選択し、そのオーバーフロー値を interval に設定します。オプションとして、追加のハードウェアカウンタ名を選択し、それらのオーバーフロー値を指定された間隔に設定します。オーバーフロー値は次のいずれかです。
on または NULL 文字列 – デフォルトのオーバーフロー値。これは、collect を引数なしで入力することによって判別できます。
hi[gh]– 選択したカウンタの高分解能値。これは、デフォルトのオーバーフロー値の約 10 分の 1 の値です。旧バージョンのソフトウェアとの互換を図るため、h の省略形もサポートされています。
lo[w]– 選択したカウンタの低分解能値。これは、デフォルトのオーバーフロー値より約 10 倍長い値です。
interval– 特定のオーバーフロー値。これは正の整数でなければなりませんが、10 進数と 16 進数のどちらの形式でもかまいません。
複数のカウンタを指定する場合、それらのカウンタは異なるレジスタを使用する必要があります。使用するレジスタが同じである場合は警告メッセージが出力され、コマンドは無視されます。
ハードウェアカウンタがメモリーアクセスに関連するイベントをカウントする場合、カウンタ名の前に + 記号を付けて、カウンタのオーバーフローを発生させた命令の実際の PC の検索をオンにすることができます。検索が成功すると、PC と参照された有効アドレスがイベントデータパケットに格納されます。
デフォルトでは、コレクタは、ハードウェアカウンタのオーバーフロープロファイルデータを収集しません。ハードウェアカウンタオーバーフローのプロファイルが有効になっていて profile コマンドが指定されていない場合、時間ベースのプロファイルは無効となります。
「ハードウェアカウンタオーバーフローのプロファイルに関する制限事項」も参照してください。
同期待ちトレースデータの収集を制御します。option には次のいずれかの値を指定できます。
on– デフォルトのしきい値で同期待ちトレースを有効にします。
off– 同期待ちのトレースを無効にします。
threshold value– 記録する最小同期遅延のしきい値を設定します。value には次のいずれかの値を指定できます。
ヒープトレースデータの収集を制御します。option には次のいずれかの値を指定できます。
on– ヒープのトレースを有効にします。
off– ヒープのトレースを無効にします。
デフォルトでは、コレクタはヒープのトレースデータを収集しません。
MPI トレースデータの収集を制御します。option には次のいずれかの値を指定できます。
on– MPI 呼び出しのトレースを有効にします。
off– MPI 呼び出しのトレースを無効にします。
デフォルトでは、コレクタは MPI のトレースデータを収集しません。
スレッドアナライザ用に、データ競合検出またはデッドロック検出のデータを収集します。次のいずれかの値を指定できます。
on – スレッドアナライザのデータ競合検出データを有効にします。
off– スレッドアナライザのデータを無効にします。
all– スレッドアナライザのデータをすべて有効にします。
race – スレッドアナライザのデータ競合検出データを有効にします。
deadlock– デッドロックと潜在的デッドロックのデータを収集します。
dtN– スレッドアナライザの特定のデータの種類を有効にします。データの種類は dt* パラメータで指定します。
スレッドアナライザについては、『Sun Studio 12: Thread Analyzer User’s Guide』および tha.1 のマニュアルページを参照してください。
標本収集モードを制御します。option には次のいずれかの値を指定できます。
periodic– 定期的な標本収集を有効にします。
manual– 定期的な標本収集を無効にします。手動の標本収集は有効のままです。
デフォルトでは、標本収集間隔 value が 1 秒での定期的な標本収集が有効となります。
dbx がターゲットプロセスを停止したときに、標本を記録するかどうかを制御します。キーワードの意味は、次のとおりです。
on– dbx がターゲットプロセスを停止するたびに標本が記録されます。
off– dbx がターゲットプロセスを停止したときの標本が記録されません。
デフォルトでは、dbx がターゲットプロセスを停止したとき、標本が記録されます。