我们的JVM消耗的内存超出预期。我们做了一些分析,发现没有泄漏。使用的堆内存最大为2.9 GB,但在空闲时间内降至800 MB。但是承诺堆增加到3.5 GB(有时是4 GB)并且永远不会降低。此外,在空闲时间之后,当使用的堆从800 MB增加时,则提交的堆内存从3.5 GB增加。所以我们的服务器很快达到最大内存大小,我们必须每隔一天重新启动它们。
我的问题是
我们的服务器中有以下内存设置:
-Xmx4096M -Xms1536M -XX:PermSize=128M -XX:MaxPermSize=512M
答案 0 :(得分:2)
您可以尝试调整-XX:MaxHeapFreeRatio,这是" GC之后的最大堆免费百分比,以避免收缩"。默认值= 70