GC分配的堆空间为2048 mb后,堆内存不会释放不到1200 mb

时间:2017-10-05 08:32:01

标签: java memory memory-leaks garbage-collection jboss-eap-6

我在Linux机器中运行Jboss EAP服务器6.1。 分配的堆内存如下所示。

JAVA_OPTS="-Xms2048m -Xmx2048m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true"

当垃圾收集发生时,堆内存不会释放小于1200 MB,并导致内存不足错误。

以下附加的GC报告。

https://drive.google.com/open?id=0B7junC5UmfFgVDQ5NjM2ZjVpSms

希望更好地了解GC,感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

你的老一代已经满了,并且在完整的GC之后仍然充满了。这意味着堆大小太小(增加Xmx或优化应用程序以使用更少的内存)或者您的应用程序正在泄漏(进行堆转储,查找存在但不应该存在的对象)。