cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

ホーム > プロファイルタスク > カスタムプロファイル

メモリープロファイル設定

カスタムプロファイルモードでは、適用可能なすべての内部プロファイル設定を自由に設定できます。メモリーをプロファイルする場合は、オブジェクト作成のみを記録するか、オブジェクトのライフサイクル全体 (作成とガベージコレクション) を記録するかを選択できます。

「メモリープロファイル」オプションを選択すると、次の設定ダイアログが表示されます。

カスタムメモリープロファイル設定

プロファイルをカスタマイズするには、次の各オプションを指定します。

  • 抽出するスタックの深さ (制限なしまたは制限あり)。Profiler がオブジェクト作成を記録すると、その時点での呼び出しスタックも記録されます。この操作は比較的負荷が大きくなるため、記録するスタックの深さの上限 (記録するフレーム数を上から数えたもの。デフォルトでは制限なし) を設定することができます。深さの上限を小さい値 (3.5 など) に設定すると、プロファイルのオーバーヘッドを大幅に軽減させることができ、割り当ての多いアプリケーションでは実行速度が数倍速くなる場合もあります。

  • 追跡単位 (スタック抽出間隔)。「統計メモリーデータ収集」の項にあるとおり、Profiler はオブジェクト割り当てを記録し、スタックのサンプルを収集してから、オブジェクトの追跡を行います (オブジェクトのライフサイクル全体を記録する場合)。ただし、対象はすべてのオブジェクトではなく、一部に限られます。このオプションではその割合を指定します。ただし、一部のオブジェクトのみを記録対象にできるのはスタック抽出とオブジェクト追跡のみです。オブジェクト割り当ての総数は別に記録され、この記録ではすべての割り当てが対象となります。たとえば、スタック抽出間隔を「10」に設定すると、各クラスで完全に記録されるのは、オブジェクト割り当て 10 件ごとに 1 件だけとなります。すべてのオブジェクトの情報を記録する場合は値を「1」に設定します。ただし、割り当ての多いアプリケーションではプロファイルのオーバーヘッドが非常に大きくなる場合があります。実際の作業で使用するサーバー側のアプリケーションでは、この値を 20 以上に設定してもまず問題はありません。これにより、オーバーヘッドを最小限に抑えた上で、実用上必要な量の情報を取得できます。

  • メモリー結果の取得時にガベージコレクションを実行。このボックスをオンにすると、「Profiler コントロールパネル」で「スナップショットを作成」をクリックするたびにターゲット JVM で完全なガベージコレクションが実行されます。ガベージコレクションを実行すると、無効なオブジェクトについてはガベージコレクトされ対象外となるため、オブジェクト活動についてより現実的な状態を把握できます。ただし、完全なガベージコレクションでは負荷が大きくなる場合があります。特に、大規模なアプリケーションでは数秒から数十秒を費やす場合があるため、このオプションの使用には注意が必要です。

関連項目

 

Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems