環境上無視されます。最大ヒープサイズは12ギガバイト
- AWS R4.XLarge(4vCPU、30ギガバイトRAM)
- のWindows 2012R2
- のTomcat 7、JDK-8u102
まず、私は開発者ではありませんので、しばらくお待ちください。最大ヒープを24GBまたは16GBに設定すると、Tomcatは4GBしか使用せず、java.lang.OutOfMemoryErrorをスローするアプリケーションもあります.GCオーバーヘッドの上限を超えました。私の勘違いは、GCがより多くのメモリにアクセスするのを「ブロックする」ことです。開発者のデフォルト設定は、GCのために有効である:
call :set_XX_java_opts "+UseConcMarkSweepGC"
私は、これらのパラメータは、この問題を解決することがあります追加ビットと感触を調査しました:
call :set_XX_java_opts "+CMSParallelRemarkEnabled"
call :set_XX_java_opts "+ScavengeBeforeFullGC"
call :set_XX_java_opts "+CMSScavengeBeforeRemark"
私は正しい軌道に乗っていますか?
おかげで、
フレッド
すべてのJVMパラメータを共有できますか? – prasanth
32ビットの代わりに64ビットのJavaをインストールします。 –
もしTomcatが4GBしか使っていないのなら、なぜいくつかのアプリはotofmemoryを投げるでしょうか?ヒープダンプを取得し、ヒープで何が起こっているのかを分析し、何が起こっているのかを確認してください。いいリンクが1つあります。https://plumbr.eu/outofmemoryerror/gc-overhead-limit-exceeded – Vipin