gpt4 book ai didi

Java:为什么不使用 XX:SurvivorRatio 的默认值?

转载 作者:行者123 更新时间:2023-11-30 06:16:26 29 4
gpt4 key购买 nike

如果您查看文档(例如 http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html),您会发现 XX:SurvivorRatio 的默认值为 8。

如果你检查一个正在运行的 jvm,它已经启动但没有明确设置 SurvivorRation,你可以看到这个默认值:

jmap -heap <pid>

会输出

...
SurvivorRatio = 8
...

但是如果您使用 VisualGC 检查 S1 S0 的最大大小,您会发现使用的是 SurvivorRatio = 1。

如果你显式地使用 -XX:SurvivorRatio=8 启动 java 程序,情况就会改变

那么为什么默认。未使用的默认值非常烦人。

最佳答案

the BOOK关于java性能调优:

-XX:SurvivorRatio=<n> should be used when you want to explicitly size survivor
spaces to manipulate object aging with the concurrent garbage collector, or to
manipulate object aging with the throughput garbage collector when adaptive sizing
is disabled using the command line option -XX:-UseAdaptiveSizePolicy.

因此,除非您使用 -XX:-UseAdaptiveSizePolicy,否则 -XX:SurvivorRatio 将被忽略。

关于Java:为什么不使用 XX:SurvivorRatio 的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27293826/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com