ループ内で500オブジェクトを削除している間に、「java.lang.OutOfMemoryError:GCオーバーヘッドの上限を超えました」というエラーが発生しました(1つのトランザクションのみ)。私は自分のコードを検証し、すべてのオブジェクトが逆参照されていることを確認しました。私もヒープサイズを増やそうとしていたので、同じエラーが出ます。 どのオブジェクトがより多くのメモリを消費しているかを知るために、私は "JProfiler"と "visualvm"を使いました。より多くのメモリを消費するeclipseリンク(2.5.2)のクラスである "ChangeObjectSet"も、同じエラーを受けているEclipseリンクの新しいバージョンで試しました。java.lang.OutOfMemoryError:GCオーバーヘッド制限を超過しました。Java
スタックトレース:
はあなたが提供することができます任意の助けを事前にありがとうございます。
メモリプロファイリングは完了しましたか?それがなければ、推測しかできない。 –
gcについて知っておいていいことは...あなたがそれを期待しているか実行しているという理由だけで、実際に実行されるわけではありません。それは、VMがそうでないと判断したときに実行されます。 – Stultuske
メモリ不足です。簡潔でシンプル。あなたのリークがどこにあるかを調べる。 –