2017-09-12 380 views
2

我在調整Java 8的JVM,並試圖瞭解爲參數-XX:ParallelGCThreads定義了什麼值。該documentation說:顯示爲XX選擇的默認值:ParallelGCThreads

-XX:ParallelGCThreads:設置在垃圾收集器的並行階段使用的線程數。默認值因運行JVM的平臺而異。

我想知道在我的平臺中定義了什麼值,如果我需要改變它。我沒有在這個環境中使用JDK,只有JRE。

+0

@ the8472,感謝您的幫助!我認爲'jinfo'來自JDK。我在環境中只有JRE。 – Dherik

+0

看來你還沒有完全閱讀鏈接的答案。 jinfo僅作爲我現在看到的8472的替代品 – the8472

+0

提及。但是,接受的答案在解釋如何使用它時更加詳細。 – Dherik

回答

6

默認值:

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

如果你有一個正在運行的進程jinfo <processId>,如果它不存在於輸出,它使用的是默認值(看VM Flags下)

2

考慮默認是固定數目ñ,如在-XX:ParallelGCThreads=<N>

作爲每documentation,這個數字是基於HW的量線程的系統有:

在具有N個硬件線程(其中N大於8)的計算機上,並行收集器使用N的固定分數作爲垃圾收集器線程數。對於大的N值,分數約爲5/8。在N值低於8時,使用的數字是N.