コードは -XX:+HeapDumpOnOutOfMemoryError フラグで実行されるため、OOM で hprof ファイルを取得します。最近、インストールからそのようなファイルを取得し、Eclipse メモリ アナライザー (MAT) で開いたところ、合計サイズが 46MB であることがわかりました。
サイズは最大割り当てサイズにはるかに近いべきではありませんか??
これはjdk1.6です。
編集: OK、同様の質問を見つけました。実際、プロセスが 23 日間稼働しているため、PermGen スペースの問題が原因である可能性があります。私は新しいスレッド (私が知る限り、適切に終了する) を非常に頻繁に、おそらく 1 秒に 1 回作成します。どういうわけかこれを確認できるかどうか知っている人はいますか?