【发布时间】:2014-07-11 06:45:00
【问题描述】:
我一直在运行两个使用 nginx 集群的 tomcat 实例。在我的 tomcats 上,我将 Infinispan 作为分布式缓存运行。当我在缓存中插入大约 4mio 记录时,会发生一些奇怪的事情。在图 1 中你可以明白我的意思。 JVM 分配的内存比以往任何时候都多,并且在使用后不会释放。
JVM参数:
- Xmx8g
- XX:NewRatio=4
- XX:SurvivorRatio=8
- XX:+UseCompressedOops
- XX:+UseConcMarkSweepGC
- XX:+UseParNewGC
- XX:+DisableExplicitGC
- XX:+UseCMSInitiatingOccupancyOnly
- XX:+CMSClassUnloadingEnabled
- XX:+CMSScavengeBeforeRemark
- XX:CMSInitiatingOccupancyFraction=68
- XX:MaxHeapFreeRatio=20
- XX:MinHeapFreeRatio=10
您能否解释一下为什么即使我将 MAXHeapFreeRatio 设置为 20%,JVM 也不会释放分配的内存?
【问题讨论】: