のTomcat 8.5をVisualVMのを使用してチェックのOutOfMemory Javaヒープスペースは、私が見ログcatalina.out ほとんどたびに(7〜11回のうち程度)フルGCいますログ表示OutOfMemory(まったく同じ分)。 -Xms3G -Xmx = 6G -XX:+ UseG1GC -XX:+ UseStringDeduplication -XX:MaxHeapFreeRatio = 100Javaの8フルGCと
まずTomcatのメモリ管理とは何かを持っているパラメータで
私はそれがデフォルトのためだと思った-XX:MaxHeapFreeRatio値はです。ヒープサイズ(および使用されたヒープはもちろん)完全なGC - 〜〜10-20%の間に大幅に低下します。ただし、XX:MaxHeapFreeRatio = 100を追加しても修正されませんでした。
これは異なるでJVMが(古いJVMと1のATMパラメータを取得することはできません)、それはフルGCメモリの後のように似ているパラメータのセットメモリ使用量のグラフですが、使用は急速に成長します。、同じ最大。ヒープサイズとその最大値。ヒープサイズは低下しません。
これが起こる可能性がなぜ任意のアイデア?
アップデート:私は、ヒープサイズがでもフルではなかったとき、以前フルGCとにOutOfMemoryが起こることを言及するのを忘れてしまった - 〜5ギガバイト当時、私はヒープが6GBに達するのを見たことはありませんでした。
これらのJVM GCパラメータを調整する必要があります。http://blog.sokolenko.me/2014/11/javavm-options-production.html – duffymo
このような質問をする前に、いくつかのプロファイリングを行います。たとえば、YourKitを使用できます。 あなたのケースでは、GCが短時間で非常に多くのオブジェクトを作成してリリースし続けることができないために発生する可能性があります。 – tsolakp