Sun Studio 12: パフォーマンスアナライザ

dbx collector サブコマンドによるデータの収集

この節では、dbx からコレクタを実行する方法、また dbx 内の collector コマンドで使用できる各サブコマンドについて説明します。

Proceduredbx からコレクタを実行する

  1. 次のコマンドを使用し、dbx にプログラムを読み込みます。


    % dbx program
    
  2. collector コマンドを使用してデータの収集を有効にし、データの種類を選択し、オプションのパラメータを適宜設定します。


    (dbx) collector subcommand
    

    利用可能な collector サブコマンドの一覧を表示するには、次のコマンドを使用します。


    (dbx) help collector
    

    サブコマンドごとに collector コマンドを 1 つ使用する必要があります。

  3. 使用する dbx のオプションを設定し、プログラムを実行します。

    指定したサブコマンドに誤りがある場合は、警告メッセージが出力され、サブコマンドは無視されます。このあとに、collector の全サブコマンドをまとめます。

データ収集のサブコマンド

ここでは、コレクタが収集するデータの種類を制御するサブコマンドをまとめています。実験がアクティブな場合は、警告メッセージが出力され、サブコマンドは無視されます。

profile option

時間ベースのプロファイルデータの収集を制御します。option には次のいずれかの値を指定できます。

hwprofile option

ハードウェアカウンタオーバーフローのプロファイルデータの収集を制御します。ハードウェアカウンタオーバーフローのプロファイル機能をサポートしていないシステム上でこの機能を有効にしようとすると、dbx から警告メッセージが返され、コマンドは無視されます。option には次のいずれかの値を指定できます。

synctrace option

同期待ちトレースデータの収集を制御します。option には次のいずれかの値を指定できます。

heaptrace option

ヒープトレースデータの収集を制御します。option には次のいずれかの値を指定できます。

デフォルトでは、コレクタはヒープのトレースデータを収集しません。

mpitrace option

MPI トレースデータの収集を制御します。option には次のいずれかの値を指定できます。

デフォルトでは、コレクタは MPI のトレースデータを収集しません。

tha option

スレッドアナライザ用に、データ競合検出またはデッドロック検出のデータを収集します。次のいずれかの値を指定できます。

スレッドアナライザについては、『Sun Studio 12: Thread Analyzer User’s Guide』および tha.1 のマニュアルページを参照してください。

sample option

標本収集モードを制御します。option には次のいずれかの値を指定できます。

デフォルトでは、標本収集間隔 value が 1 秒での定期的な標本収集が有効となります。

dbxsample { on | off }

dbx がターゲットプロセスを停止したときに、標本を記録するかどうかを制御します。キーワードの意味は、次のとおりです。

デフォルトでは、dbx がターゲットプロセスを停止したとき、標本が記録されます。

実験制御のサブコマンド

disable

データの収集を無効にします。プロセスが動作中でデータを収集中の場合は、その実験が終了し、データ収集が無効になります。プロセスが動作中でデータ収集が無効になっている場合、警告が出され、このサブコマンドは無視されます。プロセスが動作していない場合は、以降の実行のデータ収集が無効になります。

enable

データの収集を有効にします。プロセスが動作していてデータ収集が無効であった場合、データ収集が有効になって新しい実験が開始されます。プロセスが動作中でデータ収集が有効になっている場合、警告が出され、このサブコマンドは無視されます。プロセスが動作していない場合は、以降の実行のデータ収集が有効になります。

プロセスの動作中、データ収集は何回でも有効にしたり、無効にしたりできます。データ収集を有効にするたびに、新しい実験が作成されます。

pause

実験を開いたまま、データの収集を一時停止します。コレクタが一時停止している間、標本ポイントは記録されません。標本は一時停止の前に生成され、再開直後に別の標本が生成されます。データの収集がすでに一時停止されている場合、このサブコマンドは無視されます。

resume

pause が実行されたあとに、データの収集を再開します。データ収集中は、このサブコマンドは無視されます。

sample record name

name のラベルが付いた標本パケットを記録します。ラベルは、パフォーマンスアナライザの「イベント」タブで表示されます。

出力のサブコマンド

次のサブコマンドは、実験の格納オプションを指定します。実験がアクティブな場合は、警告メッセージが出力され、サブコマンドは無視されます。

archive mode

実験を保管するためのモードを設定します。 mode には次のいずれかの値を指定できます。

異なるマシンに実験を移動するか、別のマシンから実験を読み取る場合は、ロードオブジェクトのコピーを有効にする必要があります。実験がアクティブな場合、警告が出され、このコマンドは無視されます。このコマンドを使用しても、ソースファイルまたはオブジェクトファイルは実験にコピーされません。

limit value

記録するプロファイルデータの量を value メガバイトに制限します。この制限は、時間ベースのプロファイルデータ、ハードウェアカウンタオーバーフローのプロファイルデータ、および同期待ちのトレースデータの合計に適用されますが、標本ポイントには適用されません。この制限値は概数にすぎないので、この値を超えることは可能です。

制限に達すると、それ以上のプロファイルデータは記録されませんが、実験はオープンのままで標本ポイントの記録は継続します。

記録されるデータのデフォルトの制限値は 2000M バイトです。この制限値が選択されたのは、2G バイトを超えるデータの実験をパフォーマンスアナライザが処理することができないためです。制限を外すには、valueunlimited または none に設定します。

store option

実験の格納先を指定します。 実験がアクティブな場合、警告が出され、このコマンドは無視されます。option には次のいずれかの値を指定できます。

情報のサブコマンド

show

すべてのコレクタ制御の、現在の設定を表示します。

status

開かれている実験の状態を報告します。