このマニュアルでは、コレクタとパフォーマンスアナライザについて説明します。これらは、アプリケーションのパフォーマンスデータを収集および解析するために使用する 1 組の Sun Studio のツールです。いずれのツールも、コマンド行とグラフィカルユーザーインタフェースのどちらからでも使用できます。
パフォーマンスチューニングはソフトウェア開発者の主要な仕事ではないかもしれませんが、コレクタとパフォーマンスアナライザは開発者向けの設計になっています。これらのツールは、一般的に使用されているプロファイリングツールの prof および gprof に比べて柔軟性が高く、詳細で正確な解析が可能になります。また、gprof に見られる時間の因果関係の判定の誤りもありません。
これらのツールは、次のような疑問の解決に役立ちます。
使用可能なリソースのうちのどのぐらいがプログラムによって消費されるのか。
どの関数またはロードオブジェクトが特に多くのリソースを消費するのか。
どのソース行と命令がリソースを消費するのか。
特定の地点に達するまでにプログラムはどのような実行過程を経ているのか。
関数またはロードオブジェクトはどのようなリソースを消費しているのか。
コレクタツールは、プロファイリングと呼ばれる統計方法を使用し、関数呼び出しをトレースすることによって、パフォーマンスデータを収集します。データの内容には、呼び出しスタック、マイクロステートアカウンティング情報、スレッド同期遅延データ、ハードウェアカウンタのオーバーフローデータ、Message Passing Interface (MPI) 関数呼び出しデータ、メモリー割り当てデータ、およびオペレーティングシステムとプロセスの概要情報が含まれています。コレクタは C、C++、および Fortran に関するプログラムのあらゆる種類のデータを収集できるとともに、JavaTM プログラミング言語で書かれたアプリケーションに関するプロファイルデータを収集できます。また、動的に生成される関数と派生プロセスに関するデータも収集できます。収集対象のデータについては第 2 章「パフォーマンスデータ」、コレクタの詳細については第 3 章「パフォーマンスデータの収集」を参照してください。コレクタは、パフォーマンスアナライザ GUI、IDE、dbx コマンド行ツール、および collect コマンドを使用して実行できます。
パフォーマンスアナライザツールは、ユーザーがパフォーマンスデータを評価できるように、コレクタによって記録されたデータを表示します。パフォーマンスアナライザはデータを処理し、プログラム、関数、ソース行、および命令のレベルでパフォーマンスに関するさまざまなメトリックを表示します。これらのメトリックは、次の 5 つのグループに分類されます。
時間プロファイルメトリック
ハードウェアカウンタメトリック
同期遅延メトリック
メモリー割り当てメトリック
MPI トレースメトリック
パフォーマンスアナライザは、raw データを時間の関数としてグラフィカル形式で表示することができます。また、プログラムのアドレス空間における関数の読み込み順序を変更するために「マップファイル」を作成することで、パフォーマンスを改善することもできます。
パフォーマンスアナライザの詳細は、第 4 章「パフォーマンスアナライザツール」および IDE またはパフォーマンスアナライザ GUI のオンラインヘルプを参照してください。
第 5 章「カーネルプロファイリング」では、Sun Studio パフォーマンスツールを使用し、SolarisTM オペレーティングシステム (Solaris OS) が負荷を実行中にカーネルのプロファインリングを行う方法について説明しています。
第 6 章「 er_print コマンド行パフォーマンス解析ツール」では、コレクタが収集したデータを解析する er_print コマンド行インタフェースの使用方法について説明しています。
第 7 章「パフォーマンスアナライザとそのデータの内容」では、パフォーマンスアナライザとそのデータ、たとえば、データ収集の機能、パフォーマンスメトリック、呼び出しスタックとプログラムの実行、注釈付きコードリストなどの理解に関する内容について説明しています。パフォーマンスデータではなくコンパイラのコメントが含まれている注釈付きソースコードリストと逆 アセンブリコードリストは、er_src ユーティリティーによって表示できます。詳細は第 9 章「実験の操作」を参照してください。
第 8 章「注釈付きソースと逆アセンブリデータについて」では、注釈付きソースと逆アセンブリについて説明し、パフォーマンスアナライザが表示する各種インデックス行とコンパイラのコメントを解説します。
第 9 章「実験の操作」では、実験をコピー、移動、削除、アーカイブ、およびエクスポートする方法を説明します。
er_print ユーティリティーは、「タイムライン」表示を除く、パフォーマンスアナライザによって提供されるすべての表示をプレーンテキストで提示します。
Sun Studio ソフトウェアには、tcov という名前の、追加のプロファイリングツールがあります。これは、プログラム内の各文の正確な実行回数情報を生成します。このツールの詳細については、tcov(1) のマニュアルページを参照してください。