【问题标题】:Show the default value chosen for XX:ParallelGCThreads [duplicate]显示为 XX:ParallelGCThreads 选择的默认值 [重复]
【发布时间】:2017-09-12 13:47:58
【问题描述】:

我正在调整 Java 8 的 JVM,并试图了解为参数 -XX:ParallelGCThreads 定义的值。 documentation 说:

-XX:ParallelGCThreads:设置垃圾收集器并行阶段使用的线程数。默认值因运行JVM的平台而异。

我想知道我的平台中定义了什么值,以及是否需要更改它。我在这个环境中没有可用的 JDK,只有 JRE。

【问题讨论】:

  • @the8472,感谢您的帮助! jinfo 来自我认为的 JDK。我在环境中只有 JRE。
  • 您似乎没有仔细阅读链接的答案。 jinfo 仅作为替代提及
  • @the8472 我现在看到了。但是这里接受的答案更详细地解释了如何使用它。

标签: java java-8 garbage-collection


【解决方案1】:

默认值:

 java -XX:+PrintFlagsFinal | grep ParallelGCThreads
 uint  ParallelGCThreads                        = 4

如果你有一个正在运行的进程jinfo <processId>,如果它没有出现在输出中,它使用的是默认值(在VM Flags下查看)

【讨论】:

  • 可能需要添加-version 参数:java -XX:+PrintFlagsFinal -version | grep ParallelGCThreads
【解决方案2】:

考虑默认是固定数字N,如-XX:ParallelGCThreads=<N>

根据documentation,该数字基于您的系统拥有的硬件线程数量:

在具有 N 个硬件线程且 N 大于 8 的机器上,并行收集器使用 N 的固定分数作为垃圾收集器线程的数量。对于较大的 N 值,该分数约为 5/8。当 N 值低于 8 时,使用的数字为 N。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-03
    • 1970-01-01
    • 2020-09-21
    • 2013-05-15
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    相关资源
    最近更新 更多