UseAdaptiveSizePolicy和其他jvm选项

JVM选项-XX:+ UseAdaptiveSizePolicy被定义为热点人机工程学的一部分,可以使用吞吐量或暂停时间优先级进行指定。

但是,我的问题是 – 将NewSize和SurvivorRatio等其他jvm选项与之一起提及是否正确? 这样做的确切影响是什么?

只是FYI, -XX:+UseAdaptiveSizePolicy 默认情况下,在任何最新版本的Sun JVM中都启用了 -XX:+UseAdaptiveSizePolicy

另外,我发现了一篇文章 :

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

我无法找到NewSize的确定答案,但它似乎设置了初始年轻代的大小,而不是永久性的,所以它与UseAdaptiveSizePolicy并不相互排斥。

但是,这里有一堆文章:

但是,在大多数情况下,如果您正在调整SurvivorRatio则需要调整NewSizeMaxNewSize

我对非标准选项(-X)组合的体验是它们在JVM版本和平台之间的行为略有不同。

如果您想确定哪一个是一组选项的结果,请尽可能使用jmap -heap检查真实的JVM值,例如

检测到客户端编译
 JVM版本是1.5.0_14-b03

使用线程局部对象分配。
 Mark Sweep紧凑型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)
 [...]