Java ヒープの不足
ガーベッジ・コレクションで、新規オブジェクト割り振りを行うために十分なオブジェクトを解放できない場合、Java™ ヒープが使い尽くされます。
ガーベッジ・コレクションで解放できるのは、他のオブジェクトによって参照されなくなったオブジェクト、またはスレッド・スタックから参照されているオブジェクトのみです (詳しくは、 OpenJ9 ユーザー資料 の「 ヒープ割り振り 」を参照してください)。
Java ヒープの枯渇は、 -verbose:gc 出力から、ガーベッジ・コレクションの発生頻度が高く、解放されるメモリーが少ないことによって識別できます。 最終的に、JVM は失敗し、ヒープ占有率は 100% またはほぼ 100% になります ( -verbose:gc 出力について詳しくは、 OpenJ9 ユーザー資料 の「 冗長ガーベッジ・コレクション・ログ 」を参照してください)。
Java ヒープが使い尽くされ、Java ヒープ・サイズを増やしても問題が解決しない場合、次の段階では、ヒープ上にあるオブジェクトを調べ、解放する必要がある多数の Java オブジェクトを参照している疑いのあるデータ構造を探します。 「 J9 VM リファレンス」の「 Heapdump の使用 」で詳しく説明されているように、Heapdump 分析を使用します。 同様の情報は、JProbe や OptimizeIt などの他のツールを使用して取得することもできます。