Health Center の「ガーベッジ・コレクション」パースペクティブには、ヒープの使用量、休止時間、要約表、オブジェクト割り振り、調整の推奨事項セクションなどのデータが表示されます。一部のデータは、非 Java™ アプリケーションでは使用できません。
Health Center の「ガーベッジ・コレクション」パースペクティブには、以下のビューがあります。
アプリケーションのメモリー使用量の傾向を知るには、ヒープ使用量のグラフを使用します。 メモリー・フットプリントが予想より大きい場合は、ヒープ分析ツールにより、メモリー使用量が多すぎる領域を特定できます。 使用済みのヒープが時間とともに増加している場合は、アプリケーションがメモリー・リークを起こしている可能性があります。メモリー・リークは、アプリケーションが不要なオブジェクトへの参照を保持している場合に発生します。これらのオブジェクトは引き続き参照されているため、ガーベッジ・コレクション処理ができず、メモリー所要量増加の原因となります。 メモリー使用量が増加すると、より多くのプロセッサー・リソースがガーベッジ・コレクション用に必要になり、アプリケーションでの作業用に残されたリソースは少なくなります。 最終的には、メモリー所要量でヒープが使い果され、OutOfMemoryError 例外が発生し、アプリケーションが失敗します。
WebSphere® Real Time for Linux JVM をモニターすると、一定間隔でのコレクションという標準的なパターンを示す使用済みヒープのグラフが表示されます。
ガーベッジ・コレクションがパフォーマンスに与える影響を評価するには、休止時間のグラフを使用します。 ガーベッジ・コレクションを実行しているときは、すべてのアプリケーション・スレッドが休止します。 バッチ処理など、アプリケーションによっては、長期の一時停止が問題にならない場合があります。しかし、GUI アプリケーションや、その他のシステムと対話するアプリケーションなどでは、ガーベッジ・コレクションによる長期の一時停止が許容できない場合があります。
ガーベッジ・コレクションによる長期の一時停止は、アプリケーション・スループットの向上 に結びつくことが多く、 パフォーマンスの問題ではありません。 多くの場合、ガーベッジ・コレクションに費やす時間が長くなると、メモリー割り振りとメモリー・アクセス時間が改善されます。 応答時間の短縮が必要な場合のみ、一時停止時間の削減を目的にして、ガーベッジ・コレクションを調整する必要があります。
ラージ・オブジェクトを割り振っている コードを識別するには、オブジェクト割り振りビューを使用します。 下限しきい値および上限しきい値を使用して、呼び出しスタック情報のコレクションをトリガーする オブジェクト範囲を指定できます。詳しくは、ガーベッジ・コレクション情報の収集の制御 (Java アプリケーションのみ)を参照してください。
列見出し | 説明 |
---|---|
カウント | この要求サイトでの割り振り要求の数 |
% | この要求サイトにおいて記録された割り振りのパーセンテージ |
割り振り | 「%」列のグラフィカル表現 |
平均サイズ (KB) | 記録された割り振りの平均オブジェクト・サイズ |
要求サイト | 割り振り要求のコードの場所 |
これらのビューを使用して、多数のオブジェクトを割り振っているコードを特定します。
列見出し | 説明 |
---|---|
カウント | このオブジェクト・タイプのサンプリングされた割り振り要求の数 |
% | このオブジェクト・タイプのサンプリングされた割り振りのパーセンテージ |
% | 「%」列のグラフィカル表現 |
要求サイト | 割り振り要求のコードの場所 |
割り振られたオブジェクト | このサイトに割り振られるオブジェクトのクラス名 |
列見出し | 説明 |
---|---|
カウント | このオブジェクト・タイプのサンプリングされた割り振り要求の数 |
% | このオブジェクト・タイプのサンプリングされた割り振りのパーセンテージ |
% | 「%」列のグラフィカル表現 |
合計サイズ (KB) | サンプリングされた割り振りによって割り振られたメモリーの合計サイズ |
割り振られたオブジェクト | 割り振られるオブジェクトのクラス名 |
要約表には、ガーベッジ・コレクションのメトリック (平均休止時間、ガーベッジ・コレクション間の平均間隔、ガーベッジ・コレクションに要した時間など) が表示されます。 アプリケーションがガーベッジ・コレクションに費やす時間をパフォーマンス・メトリックそのものと見なしてはなりません。 IBM SDK, Java Technology Edition の世代並行 (gencon) ポリシーなど、ガーベッジ・コレクション・ポリシーの中には、ガーベッジ・コレクションに費やす時間はより多いが、アプリケーション・パフォーマンスはより高いものがあります。
Health Center は、Java アプリケーションに関して一般的な調整の推奨事項とアドバイスを提供します。 例外的なケースでは、より細かな微調整が必要になる場合があります。Health Center は、ユーザーのサービス品質要件を把握していないため、その推奨事項が必ずしも役立つとは限りません。例えば、推奨される変更によってアプリケーションの効率が向上しても、休止時間が増える場合があります。これは、ユーザーのアプリケーションにとって最善ではない場合があります。調整の推奨事項では、アプリケーションがメモリー・リークを起こしている可能性があるかどうかも示されます。 ただし、Health Center では、自然に増加したメモリー所要量と、不要になったのに保持されているメモリーとを区別することはできません。
切り取りを使用することにより、データ表示および推奨事項作成の対象となる時間間隔を選択できます。切り取りについて詳しくは、データの切り取りを参照してください。