メモリー・プロファイラは、プログラムがJavaヒープのメモリーをどのように使用するかを視覚的かつ統計的に分析するものです。メモリー・プロファイラを使用すると、プログラムのメモリー・リークを検出して切り離すことができます。
メモリー・プロファイラは、アプリケーションのメモリー使用に関する情報を指定の間隔で取得します。メモリー・プロファイラを一時停止した場合またはアプリケーションが終了した場合は、Javaヒープで使用されたメモリー、解放されたメモリーなど、直前の間隔に関するプロファイラ情報が表示されます。ユーザー・インタフェースのスライダ・コントロールでスクロールして、使用可能なサンプルを検索できます。メモリー・プロファイラでメモリー・リークの疑いのある箇所を特定した後、そのソース・コードにジャンプして修正し、変更内容をテストできます。プロファイラで情報をソートおよび表示した後、HTMLファイルにメモリー・プロファイリング・データを保存できます。
メモリー・プロファイラを使用する場合、最初に自動サンプリングを開始し、プログラムによるヒープの使用の全体像を取得します。プログラム・タイプに応じたサンプリングの間隔とスライダの深さの組合せを選択します。サーバーのように稼働時間の長いアプリケーションの場合、間隔を長くし、スライダの深さを大きくします。高速で集中的に実行されるアプリケーションの場合、短い間隔がより適しています。より低いサンプリング・レート、より大きいスライダの深さ、およびより広いインスタンスによって定義されたセットでは、プロファイラUIにかかるメモリー要求が高くなります。
監視対象がわかっている場合は、対象とするインスタンスと対象外とするインスタンスを使用して検索対象を絞り込みます。検索を絞り込むと、メモリーに関する問題に直面することなく、サンプル数の増加やより高いサンプリング・レートを要求できます。
自動サンプリングでプログラムのメモリー使用量を監視した後、ヒープで機能のパフォーマンス低下が検出された場合は、その機能の実行によって発生する問題を正確にカウントするため、手動によるサンプリング・レート(更新間隔には0)に切り替えることができます。
Copyright © 1997, 2006, Oracle. All rights reserved.