メモリー・プロファイラを使用して、プログラムがJavaヒープをどのように使用しているかを調べます。メモリー・リーク、ヒープの不正使用、疑わしいメモリーの動作などを検出します。
メモリー・プロファイラでは、最初は1つの大きな表にデータが表示されています。表にリスト表示されているすべてのクラスについて、詳細なレポートを表示できます。クラスの詳細を表示するには、そのクラスが表示されている表の行を選択してダブルクリックするか、右クリックしてから「割当ての詳細の取得」を選択します。
このプロファイリング・セッションのデータを今後の参照用に保存するには、表内で右クリックして、次に示す保存オプションの1つを選択します。
.opr
)として保存されます。
列内のデータを昇順または降順にソートするには、列ヘッダーをクリックします。列の配置を変更するには、列をクリックして移動先までドラッグします。
「プロジェクト・プロパティ」ダイアログに直接移動してプロファイラ設定を再構成するには、メイン・ウィンドウで表を右クリックし、「設定」を選択します。列の表示を変更してプロファイラに戻ると、変更内容が表示に反映されています。その他の変更の場合、新規プロファイリング・セッションを開始するまで、変更内容は反映されません。
メイン・ウィンドウの表には、ヒープのアクティビティ(経過時間内に発生した割当てと解放)およびヒープの状態が表示されます。プロファイラ・クラス・セットのメソッドがヒープに存在しないときに発生した割当てはカウントされません。
表の最も上には、現在のプロファイリング・セッションを制御する5つのボタンと、プロファイリングの進捗状況を示すスライダがあります。
1度プログラムを一時停止すると、詳細ウィンドウを開いてプロファイリングを続行でき、両方のウィンドウでデータを取得できます。その後、詳細ウィンドウが存在しない時点までプログラムを逆方向にスクロールすると、NO DATA
という通知が表示されます。詳細ウィンドウを1度閉じると、データはリカバリ不可能です。
「プロジェクト・プロパティ」ダイアログの「メモリー」ページを使用して、メモリーに保持するサンプル数を決定します。これによって戻ることができる回数が決まります。
表には、現在のプロファイリング・セッションで考察されている各クラスのデータが表示されます。
これらの列の値は、スクロールして前のサンプルに移動すると、サンプルに応じて変化します。
表の任意の行をダブルクリックするか、右クリックして「割当ての詳細の取得」を選択し、特定のクラスに関する詳細な割当ての表を開きます。その表には、クラスのインスタンスがリスト表示され、それらのインスタンスがどこから割り当てられたかが示されます。詳細ウィンドウを閉じると、内容は破棄されます。
表にリスト表示されているメソッドのソース・コードを表示するには、そのメソッドが表示されている表の行をダブルクリックするか、右クリックしてから「ソースを検索」を選択します。
1度プログラムを一時停止すると、詳細ウィンドウを開いてプロファイリングを続行でき、両方のウィンドウでデータを取得できます。その後、詳細ウィンドウが存在しない時点までプログラムを逆方向にスクロールすると、NO DATA
という通知が表示されます。詳細ウィンドウを1度閉じると、データはリカバリ不可能です。
詳細ウィンドウは、現在のサンプルについてのみ開くことができます。プログラムの一時停止中にセッションの前のサンプルに戻って、詳細ウィンドウを開こうとすると、スライダのバーが現在のアクティブなサンプルに移動し、現在のサンプルの詳細ウィンドウが開かれます。
このウィンドウに表示されるディテール表には、もう1つの列があります。
その他の列には、メイン・ウィンドウで表示されているものと同じタイプの情報が表示されます。
プロファイラ・クラス・セットについて
実行プロファイリングについて
Copyright © 1997, 2004, Oracle. All rights reserved.