プログラムのパフォーマンス解析

「アドレス空間」表示画面

「アドレス空間」表示画面によって、アプリケーションが最も集中的に利用するメモリ (修正および参照ページ) を示すことができます。また、実験がアプリケーションのすべての関数を試すわけではないため、あるいは、アプリケーションに無駄なコードやメモリ割り当ての問題などが含まれているなどの理由から、未使用となっているメモリも識別します。

「アドレス空間」表示画面形式は、アドレス空間データを収集する場合のみ、データを提示します。アドレス空間データが収集されていない場合、標本アナライザ画面の下部にその旨を告げるメッセージが表示されます。

メモリのカテゴリ

「アドレス空間」表示画面では、アプリケーションが使用するメモリを以下のカテゴリに分類しています。

表 2-7 標本アナライザが表示するメモリのカテゴリ

変更 

アプリケーションの実行中に書き込まれるページ。参照されることも、参照されないこともある。 

参照 

アプリケーションに読み取られるページあるいはアプリケーションによって実行される命令を含むページ 

参照なし 

アプリケーションによって変更も参照もされないページ 

「アドレス空間」表示画面のレイアウト

「アドレス空間」表示画面は、個々の正方形 (ページ) または長方形 (セグメント) からなる列と行とで構成されます。そして、列と行にはメモリ内のアドレスを示す番号が付けられています。空白部分は、アプリケーションが使用しないアドレス空間の領域を表しています。

図 2-8 「アドレス空間」表示画面

Graphic

SunOS は 4 K バイトあるいは 8 K バイトのページを使用します。ページのアドレスは 0x1000 (16 進数で表す 4 Kバイト) または 0x2000 (16 進数で表す 8 Kバイト) の倍数です。

システムのページサイズを確認するには、プロンプトから次のように入力してください。

% pagesize

この pagesize コマンドはページサイズをバイト単位で返します。

ページサイズが 4 Kバイトの場合、行当たりのページ数は 16 です。ページサイズが 8 K バイトの場合、行当たりのページ数は 8 です。

ページを含む行と列の 16 進数値を組み合わせることで、そのページのアドレスを知ることができます。たとえば、確認中のページが第 4 行 (0004__00) 、第 2 列 (20) にあるなら、そのページのアドレスは 00042000 となります。

「アドレス空間」表示画面において、メモリ単位を異なる細分性レベルで表示するには、「表示形式」領域で「ページ」または「セグメント」を選択します。

選択されたページおよびセグメントには影が付けられ、浮き出して表示されます。選択したページ上でマウスの左ボタンを押し続けると、そのページを含むセグメントも表示され、影が付けられます。同様に、選択したセグメント上でマウスの左ボタンを押し続けると、そのセグメント内に含まれるページが表示され、選択されます。

選択したページまたはセグメントのプロパティに関する情報を表示するには、「表示」メニューの「詳細表示」コマンドを選択し、以下の情報を含む「ページ属性」ダイアログボックスを開きます。

「アドレス空間」表示画面に含める標本は、以下の 3 通りの方法で選択できます。