gpt4 book ai didi

Java JVM 默认垃圾收集器 : is it configured the same across different applications?

转载 作者:行者123 更新时间:2023-12-02 01:38:10 25 4
gpt4 key购买 nike

正如标题中所指定的那样。

我运行了一个测试,并使用 JMX 记录了一段时间内的内存堆使用模式。然后我稍后重新运行我的 jar 文件并再次研究它的内存行为。结果是内存模式略有不同。在这两种情况下,我都没有预先配置我的垃圾收集器。所以我现在想知道同一台机器上的两个默认垃圾收集器是否具有相同的配置。

如果不是,如何在不指定很多参数的情况下确保我的垃圾收集器是相同的?如果不是 GC 配置,还有哪些因素会对我的结果产生影响?

最佳答案

如果在同一台机器上使用相同的 JVM 运行相同的应用程序,堆和 GC 参数将相同。

人体工程学是早在 JDK 5.0 中就引入的一项功能,旨在尝试消除 GC 调优中的一些猜测。服务器级计算机(2 个或更多内核以及 2 Gb 或更多 Gb 内存)将使用 1/4 物理内存(最多 1 Gb)作为初始堆大小和最大堆大小(请参阅 https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/ergonomics.html )。所以不同的机器默认配置可能不同。

要准确了解您设置的标志,请使用:java -XX:+PrintFlagsFinal -version

内存使用模式的差异只是应用程序的非确定性行为。即使使用完全相同的输入集,我怀疑您是否会看到完全相同的内存行为,只是由于许多其他操作系统和硬件影响(缓存、核心关联性等)。

关于Java JVM 默认垃圾收集器 : is it configured the same across different applications?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54884503/

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