使用如下参数,HBase 测试中,JDK 9, JDK 10, JDK 11, JDK 12, JDK 13, JDK 14, JDK 15, JDK 16 都会存在性能下降的问题。
-XX:+PrintGCDetails -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:-ResizePLAB
原因:
发现 desired_plab_sz 大小,在性能正常的版本中该值为 1024 或者 4096(分别是 YoungPLAB 和 OLDPLAB),在性能下降的版本中该值为 258
1.不建议禁止 ResizePLAB
-XX:+ResizePLAB
2.手工调整YoungPLABSize、OldPLABSize
-XX:-ResizePLAB
-XX:YoungPLABSize=YoungPLABSize* ParallelGCThreads
-XX:OldPLABSize=OldPLABSize* ParallelGCThreads
其中参数 ParallelGCThreads 的计算方法为:没有设置该参数时,当 CPU 个数小于等于 8, ParallelGCThreads 等于 CPU 个数,当 CPU 个数大于 8,ParallelGCThreads 等于 CPU 个数的 5/8)
参考文档