UseAdaptiveSizePolicy和其他jvm选项

Ann*_*nna 18 java jvm

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

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

The*_*ist 15

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

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

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

我找不到一个确定的答案NewSize,但它似乎设定了最初的年轻一代,而不是永久性的,所以它不是相互排斥的UseAdaptiveSizePolicy.

但是,这里有一堆文章:

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


fgl*_*lez 6

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

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

检测到客户端编译器。
JVM 版本为 1.5.0_14-b03

使用线程本地对象分配。
Mark Sweep 紧凑型气相色谱仪

堆配置:
    MinHeapFreeRatio = 40
    MaxHeapFreeRatio = 70
    MaxHeapSize = 209715200 (200.0MB)
    新大小 = 2228224 (2.125MB)
    MaxNewSize = 4294901760 (4095.9375MB)
    旧大小 = 1441792 (1.375MB)
    新比率 = 8
    幸存者比率 = 32
    PermSize = 8388608 (8.0MB)
    MaxPermSize = 134217728 (128.0MB)
[...]