次のサブコマンドを、dbx 内で collector コマンドとともに使用して、コレクタにより収集されるデータの種類を制御できます。実験がアクティブな場合は、警告メッセージが出力され、サブコマンドは無視されます。
クロックプロファイリングデータの収集を制御します。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[~ attribute_1=value_1]...[~attribute_n =value_n][/ register-number][,interval ]
ハードウェアカウンタの name を選択し、そのオーバーフロー値を interval に設定します。オプションとして、追加のハードウェアカウンタ名を選択し、それらのオーバーフロー値を指定された間隔に設定します。オーバーフロー値は次のいずれかです。
on または NULL 文字列 - デフォルトのオーバーフロー値で、ほかの引数を指定せずに collect -h を入力することによって判別できます。
hi[gh] - 選択したカウンタの高分解能値で、デフォルトのオーバーフロー値の約 1/10 です。旧バージョンのソフトウェアとの互換を図るため、h の省略形もサポートされています。
lo[w] - 選択したカウンタの低分解能値で、デフォルトのオーバーフロー値の約 10 倍です。
interval - 特定のオーバーフロー値で、10 進数または 16 進数形式の正の整数です。
複数のカウンタを指定する場合は、各カウンタで異なるレジスタを使用する必要があります。使用するレジスタが同じである場合は警告メッセージが出力され、コマンドは無視されます。
ハードウェアカウンタがメモリーアクセスに関連するイベントをカウントする場合、カウンタ名の前に + 記号を付けて、カウンタのオーバーフローを発生させた命令の実際の PC の検索をオンにすることができます。検索が成功すると、PC と参照された有効アドレスがイベントデータパケットに格納されます。
デフォルトでは、コレクタは、ハードウェアカウンタプロファイリングデータを収集しません。ハードウェアカウンタプロファイリングが有効になっていて profile コマンドが発行されていない場合、クロックプロファイリングは無効となります。
ハードウェアカウンタプロファイリングに関する制限事項も参照してください。
同期待ちトレースデータの収集を制御します。option に使用できる値は次のとおりです。
on - デフォルトのしきい値で同期待ちトレースを有効にします。
off - 同期待ちトレースを無効にします。
ヒープトレースデータの収集を制御します。option に使用できる値は次のとおりです。
on - ヒープトレースを有効にします。
off - ヒープトレースを無効にします。
デフォルトでは、コレクタはヒープのトレースデータを収集しません。
スレッドアナライザ用に、データ競合検出またはデッドロック検出のデータを収集します。次のいずれかの値を指定できます。
off – スレッドアナライザのデータ収集を無効にします。
all – すべてのスレッドアナライザデータを収集します。
race - データ競合検出データを収集します。
deadlock - デッドロックと潜在的デッドロックのデータを収集します。
スレッドアナライザの詳細は、Oracle Solaris Studio 12.4: スレッドアナライザユーザーズガイド および tha.1 のマニュアルページを参照してください。
標本収集モードを制御します。option に使用できる値は次のとおりです。
periodic - 定期的な標本収集を有効にします。
manual - 定期的な標本収集を無効にします。手動の標本収集は有効のままです。
デフォルトでは、標本収集間隔 value が 1 秒での定期的な標本収集が有効となります。
dbx がターゲットプロセスを停止したときに、標本を記録するかどうかを制御します。キーワードの意味は、次のとおりです。
on - dbx がターゲットプロセスを停止するたびに標本が記録されます。
off - dbx がターゲットプロセスを停止したときに標本は記録されません。
デフォルトでは、dbx がターゲットプロセスを停止したとき、標本が記録されます。