JVM选项-XX:+UseAdaptiveSizePolicy是HotSpot自适应策略的一部分,可以指定吞吐量或暂停时间优先级。
然而,我的问题是 - 是否应该将其他JVM选项如NewSize和SurvivorRatio与其一起提及?这样做会产生什么影响?
只是提供信息,-XX:+UseAdaptiveSizePolicy
在任何最新版本的Sun JVM中默认启用。
此外,我找到了一篇文章:
避免麻烦:
-XX:SurvivorRatio=
选项与JVM参数-XX:+UseAdaptiveSizePolicy
不兼容。请根据您的情况使用其中之一。
我找不到关于NewSize
的确定答案,但它似乎设置的是初始年轻代大小,而不是永久性的,因此它与UseAdaptiveSizePolicy
不是互斥的。
然而,这里有一堆文章:
然而,在大多数情况下,如果您要调整SurvivorRatio
,则需要调整NewSize
和MaxNewSize
。
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) [...]
-XX:-UseAdaptiveSizePolicy
,注意+/-
。 - Eugene