使用AdaptiveSizePolicy和其他jvm选项

19

JVM选项-XX:+UseAdaptiveSizePolicy是HotSpot自适应策略的一部分,可以指定吞吐量或暂停时间优先级。

然而,我的问题是 - 是否应该将其他JVM选项如NewSize和SurvivorRatio与其一起提及?这样做会产生什么影响?

2个回答

16

只是提供信息,-XX:+UseAdaptiveSizePolicy在任何最新版本的Sun JVM中默认启用

此外,我找到了一篇文章

避免麻烦-XX:SurvivorRatio=选项与JVM参数-XX:+UseAdaptiveSizePolicy不兼容。请根据您的情况使用其中之一。

我找不到关于NewSize的确定答案,但它似乎设置的是初始年轻代大小,而不是永久性的,因此它与UseAdaptiveSizePolicy不是互斥的。

然而,这里有一堆文章:

然而,在大多数情况下,如果您要调整SurvivorRatio,则需要调整NewSizeMaxNewSize


如何关闭自适应大小策略? - skytree
@skytree 如果你的意思是“禁用”,那么使用-XX:-UseAdaptiveSizePolicy,注意+/- - Eugene

6
我的经验是,在JVM版本和平台之间,非标准选项(-X)的组合表现略有不同。如果您想确切知道一组选项的结果,请尽可能使用 jmap -heap 检查实际的JVM值,例如:
检测到客户端编译器。
JVM版本为 1.5.0_14-b03
使用线程本地对象分配。 标记扫描紧凑GC
堆配置: MinHeapFreeRatio = 40 MaxHeapFreeRatio = 70 MaxHeapSize = 209715200 (200.0MB) NewSize = 2228224 (2.125MB) MaxNewSize = 4294901760 (4095.9375MB) OldSize = 1441792 (1.375MB) NewRatio = 8 SurvivorRatio = 32 PermSize = 8388608 (8.0MB) MaxPermSize = 134217728 (128.0MB) [...]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接