次の問題:
- 開発したプログラムを開始します (-Xmx550M)
- 90 MB のファイルを読み込みます
この読み込みは、下の図の使用済みヒープのピークです。その後、ヒープ サイズは 130 MB から 500 MB に増加しますが、必要なのは 110 MB だけです。
わかりました、問題ありません、迷惑ですが、わかりました。しかし、ここで保存プロセス (約 100 MB が必要) を開始すると、Java VM が java.lang.OutOfMemoryError: Java heap space 例外でクラッシュします。
750 MB のヒープ サイズでアプリケーションを起動すると、問題なく動作します。短いピークが表示され、正常に動作します。
ここで私の質問: 550 MB のヒープ サイズで OutOfMemoryError が発生するのはなぜですか? アプリケーションは 400 MB しか必要としません (最高ピーク時)。
それを修正する方法がわかりません:(
私を助けてください!