データの収集は、コマンド行から collect コマンドを使用して、あるいはパフォーマンスアナライザにあるパフォーマンスツールの「収集」ウィンドウを使用して行うことができます。
コマンド行を使用する場合
コマンド行から synprog のデータを収集するには、端末ウィンドウで次のコマンドを入力します。
% cd work-directory/synprog
% collect synprog
% collect -F on synprog icpu.popen.cpu so.sx.exec ¥
system.forkexec
work-directory は、サンプルプログラム用に作成したディレクトリのフルパスです。 synprog は一部の共有オブジェクトを synprog サブディレクトリから読み込むので、データはこのサブディレクトリに収集する必要があります。 このサブディレクトリにデータを収集しなかった場合、synprog が共有オブジェクトを検出できなくなります。
2 つの collect からのデータは、synprog サブディレクトリの test.1.er と test.2.er という名前の 2 つの実験に格納されます。 これらの名前の実験を誤ってすでに記録してしまった場合には、er_rm コマンドで削除し、実験を記録し直すことができます。
パフォーマンスツールの「収集」ウィンドウを使用する場合
パフォーマンスツールの「収集」ウィンドウから synprog プログラムのデータを収集する手順は以下のとおりです。
- 「ファイル」
「実験を収集」を選択して、パフォーマンスツールの「収集」ウィンドウを開きます。「実験を収集」タブが選択状態になっています。 synprog プログラムでは、test.1.er および test.2.er の 2 つの実験を行います。
- test.1.er: test.1.er 実験を行うには、「収集」ウィンドウの「実験を収集」タブで次のことを行います。
- ダウンロードした synprog プログラムが存在するディレクトリのパスをテキストフィールドに入力するか、「ターゲット」ダイアログボックスにある「ブラウズ」をクリックして、ターゲットを選択することによって、「ターゲット」フィールドに構築ターゲットを指定します。 例: /home/users/JohnSmith/analyzer_examples/synprog/synprog
- 「実験名」フィールドの実験名が test.1.er であることを確認します。
- 「作業用ディレクトリ」フィールドに作業用ディレクトリが正しく設定されていることを確認します。
- 「実行」をクリックします。
- 実験が進むと共に、「入力 / 出力」タブにそのデータが表示されます。 実験が終了すると、ダイアログボックスが開き、次に何を行うか問い合わせがあります。 「実験を開く」をクリックします。
- test.2.er: パフォーマンスツールの「収集」ウィンドウの「実験を収集」タブにいることを確認します。 test.2.er 実験を行うには、「収集」ウィンドウの「実験を収集」タブで次のことを行います。
- ダウンロードした synprog プログラムが存在するディレクトリのパスをテキストフィールドに入力するか、「ターゲット」ダイアログボックスにある「ブラウズ」をクリックしてターゲットを選択し、「ターゲット」フィールドに構築ターゲットを指定します。 例: /home/users/JohnSmith/analyzer_examples/synprog/synprog
- 「引数」フィールドに次の引数を入力します。
icpu.popen.cpu so.sc.exec system.forkexec.
- 「実験名」フィールドの実験名が test.2.er であることを確認します。
- 「データの制限値 (MB) 」フィールドが 2000 に設定されていることを確認します。
- 「作業用ディレクトリ」フィールドに作業用ディレクトリが正しく設定されていることを確認します。
- このタブのその他のフィールドまたはボタンはデフォルトの設定のままにします。
- パフォーマンスツールの「収集」ウィンドウの「収集するデータ」タブをクリックします。
- 「収集するデータ」タブで「ヒープトレース」と「派生プロセスで記録」オプションをクリックして選択します。
- 「実行」をクリックします。
データの収集を終えたら
データの収集を終了したら、最初の実験 test.1.er をパフォーマンスアナライザで開きます。
collect コマンドについては、collect(1) のマニュアルページを参照してください。 collect コマンドの使用方法が分かっている場合には、上記のコマンドの代わりに make collect を使用することもできます。
著作権と商標について