我正在调优Java8的JVM,并试图知道参数-XX:ParallelGCThreads定义了什么值。文档说:
-XX:ParallelGCThreads:设置垃圾收集器并行阶段使用的线程数。缺省值随运行JVM的平台而变化。
我想知道在我的平台中定义了什么值,以及是否需要改变它。在这个环境中,我没有可用的JDK,只有JRE。
发布于 2017-09-12 13:55:19
默认值:
java -XX:+PrintFlagsFinal | grep ParallelGCThreads
uint ParallelGCThreads = 4如果您有一个正在运行的进程jinfo <processId>,如果它不在输出中,则它使用的是默认值(参见VM Flags)
发布于 2017-09-12 13:56:22
假设默认值是一个固定的数字N,如在-XX:ParallelGCThreads=<N>中
根据文档,这个数字是根据系统拥有的HW线程数量计算的:
在N个硬件线程大于8的机器上,并行收集器使用固定的N部分作为垃圾收集器线程数。对于N的大值,分数约为5/ 8,当N值低于8时,所用的数为N。
https://stackoverflow.com/questions/46178181
复制相似问题