我为我的应用程序切换到 CMS 收集器,应用程序的吞吐量减少了一半。从 GC 日志中,我看到次要 GC 发生的频率很高(大约 每秒 10 次
)。我分配了 4G
的堆大小。 JVM 默认为年轻一代使用非常小的大小(小于 40MB
)。我想通过增加年轻一代的规模来尝试 CMS。你能为此指出正确的 JVM 参数吗?
- 我试过 -XX:NewRatio 但 JVM 忽略了这个参数并且年轻一代的大小没有变化
- 我的 java 版本是
java version "1.6.0_14"
最佳答案
你是如何设置 -XX:NewRatio
的,在哪个 JVM 版本上?
无论如何。如果您还设置了 -XX:MaxNewSize=size
,这是一项功能,或者如果您还设置了 -XX:+UseConcMarkSweepGC
,它可能会被忽略,这是一个 known bug .
关于java - NewRatio 参数不适用于 CMS 垃圾收集器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11045691/