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

第 9 章 実験の操作

この章では、コレクタおよびパフォーマンスアナライザとともに利用できるユーティーリティーについて説明します。

この章では、次の内容について説明します。

実験の操作

実験は、コレクタによって作成されたディレクトリ内に格納されます。実験の操作に、cpmvrm など通常の UNIX® コマンドを使用し、ディレクトリに適用することができます。Forte Developer 7 (SunTM ONE Studio 7, Enterprise Edition for Solaris) より前のリリースの実験には当てはまりません。このため、これらの UNIX コマンドのような働きを持つ、実験のコピー、移動、および削除用の 3 つのユーティリティーが用意されています。次に、これらのユーティリティー er_cp(1)、er_mv(1)、er_rm(1) を説明します。

実験のデータには、プログラムによって使用された各ロードオブジェクトのアーカイブファイルが含まれます。これらのアーカイブファイルには、ロードオブジェクトの絶対パスとその最終修正日付が含まれています。実験を移動またはコピーしたときにこの情報が変更されることはありません。

er_cp ユーティリティーを使った実験のコピー

次の 2 つの形式の er_cp コマンドを使用できます。


er_cp [-V] experiment1 experiment2
er_cp [-V] experiment-list directory

最初の形式の er_cp コマンドは、experiment1experiment2 にコピーします。 experiment2 が存在する場合、 er_cp はエラーメッセージを出力して終了します。2 つ目の形式は、リスト中の空白で区切られた一群の実験をディレクトリにコピーします。コピー先のディレクトリにコピー対象の実験と同じ名前の実験が含まれている場合、er_mv ユーティリティーはエラーメッセージを出力して終了します。-V オプションは、er_cpユーティリティーのバージョンを表示します。このコマンドは、Forte Developer 7 release より前のソフトウェアリリースで作成された実験をコピーしません。

er_mv ユーティリティーを使った実験の移動

次の 2 つの形式の er_mv コマンドを使用できます。


er_mv [-V] experiment1 experiment2
er_mv [-V] experiment-list directory

最初の形式の er_mv コマンドは、experiment1experiment2 に移動します。 experiment2 が存在する場合、er_mv ユーティリティーはエラーメッセージを出力して終了します。2 つ目の形式のコマンドは、リスト中の空白で区切られた一群の実験をディレクトリに移動します。移動先のディレクトリに移動対象の実験と同じ名前の実験が含まれている場合、er_mv ユーティリティーはエラーメッセージを出力して終了します。-V オプションは、er_mv ユーティリティーのバージョンを表示します。このコマンドは、Forte Developer 7 release より前のソフトウェアリリースで作成された実験を移動しません。

er_rm ユーティリティーを使った実験の削除

リストに指定された実験または実験グループを削除します。実験グループを削除すると、そのグループに含まれるすべての実験が削除されてから、グループファイルも削除されます。

er_rm コマンドの構文は次のとおりです。


er_rm [-f] [-V] experiment-list

-f オプションは、エラーメッセージの出力を抑止し、実験が見つかったかどうかに関係なく、コマンドが確実に正常終了するようにします。-V オプションは、 er_rm ユーティリティーのバージョンを表示します。 このコマンドは、Forte Developer 7 release より前のソフトウェアリリースで作成された実験を削除します。

その他のユーティリティー

通常の環境では使用する必要のない、その他のユーティリティーもいくつかあります。ここでは、これらのユーティリティーを使用する必要がある環境を示しながら、説明を行います。

er_archive ユーティリティー

er_archive コマンドの構文は次のとおりです。


er_archive [–nqAF] experiment
er_archive -V

er_archive ユーティリティーは、実験が正常終了したとき、または実験に対してパフォーマンスアナライザや er_print ユーティリティーを起動したときに、自動的に実行されます。このユーティリティーは、実験で参照されている共有オブジェクトの一覧を読み取り、それぞれにアーカイブファイルを 1 つ作成します。これらの出力ファイルの名前には、接尾辞 .archive が付き、その共有オブジェクトの関数とモジュールのマッピング情報が含まれます。

ターゲットプログラムが異常終了した場合、コレクタによって er_archive ユーティリティーが実行されないことがあります。実験が記録されたのとは別のマシン上で異常終了した実行で得られた実験を調べるには、その実験に対し、データが記録されたマシン上で er_archive ユーティリティーを実行する必要があります。実験のコピー先のマシンでロードオブジェクトを使用できるようにするには、-A オプションを使用します。

実験で参照されているすべての共有オブジェクトに対して、アーカイブファイルが生成されます。これらのアーカイブには、各オブジェクトファイルとそのロードオブジェクト内の各関数のアドレス、サイズ、名前、ロードオブジェクトの絶対パス、その最終変更日時を示すタイムスタンプなどが含まれます。

er_archive ユーティリティーを実行したときに共有オブジェクトが見つからないか、そのオブジェクトのタイムスタンプが実験に記録されているタイムスタンプと異なるか、または実験が記録されたのとは異なるマシンで er_archive ユーティリティーが実行された場合、アーカイブファイルには警告メッセージが書き込まれます。er_archive ユーティリティーが手動で実行されていて、-q フラグが指定されていない場合、警告は stderr にも出力されます。

次に、er_archive ユーティリティーで使用可能なオプションについて説明します。

-n

指定した実験のみをアーカイブします。派生実験はアーカイブしません。

–q

stderr に警告を出力しません。警告はアーカイブファイルに取り込まれ、パフォーマンスアナライザで表示されるか、または er_print ユーティリティーから出力されます。

–A

実験へのすべてのロードオブジェクトの書き込みを要求します。この引数を使用して、実験が記録されたマシン以外のマシンにさらに容易にコピーできる実験を作成することができます。

–F

アーカイブファイルを強制的に作成または再作成します。この引数を使用して、手動で er_archive を実行し、警告のあったファイルを作成し直すことができます。

-V

er_archive ユーティリティーのバージョン番号情報を表示し、終了します。

er_export ユーティリティー

er_export コマンドの構文は次のとおりです。


er_export [–V] experiment

er_export ユーティリティーは、実験ファイル内の raw データを ASCII テキストに変換します。このファイルの形式と内容は変更されることがあるため、特定の目的にのみ利用できます。このユーティリティーは、パフォーマンスアナライザが実験を読み取れないときにだけ使用されることを意図しています。ツールの開発者は、出力を見ることによって raw データを理解し、問題を解析できます。–V オプションは、バージョン番号情報を表示します。