Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Show the default value chosen for XX:ParallelGCThreads [duplicate]

I'm tuning the JVM of Java 8 and I'm trying to know what value was defined for the parameter -XX:ParallelGCThreads. The documentation says:

-XX:ParallelGCThreads: Sets the number of threads used during parallel phases of the garbage collectors. The default value varies with the platform on which the JVM is running.

I would like to know what value was defined in my platform and if I need to change that. I don't have in this environment a JDK available, only the JRE.

like image 293
Dherik Avatar asked Sep 12 '17 13:09

Dherik


2 Answers

Default value :

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

If you have a running process jinfo <processId>, if it's not present in the output, it is using the default value (look under VM Flags)

like image 105
Eugene Avatar answered Sep 20 '22 16:09

Eugene


Consider the default is a fixed number N, as in -XX:ParallelGCThreads=<N>

As per the documentation, that number is based on the amount of HW threads your system has:

On a machine with N hardware threads where N is greater than 8, the parallel collector uses a fixed fraction of N as the number of garbage collector threads. The fraction is approximately 5/8 for large values of N. At values of N below 8, the number used is N.

like image 32
Luciano van der Veekens Avatar answered Sep 23 '22 16:09

Luciano van der Veekens