有关 垃圾收集器选择 的参数有 UseConcMarkSweepGC, UseG1GC, UseParNewGC, UseParallelGC, UseParallelOldGC, UseSerialGC

 

  • JDK7 默认收集器组合 ParallelGC: 新生代 Parallel Scavenge + 老年代 Parallel Old
  • JDK8 默认收集器组合 ParallelGC: 新生代 Parallel Scavenge + 老年代 Parallel Old
  • JDK9 以后,默认的垃圾收集器则是 G1 (不分代)

 

查看被手动指定过的参数 java -XX:+PrintCommandLineFlags -version

(关注结果中的 UsexxxxGC 参数,如果没有,那么会使用默认收集器)

 

查看所有参数 java -XX:+PrintFlagsFinal -version 

查找与垃圾收集器相关的参数 java -XX:+PrintFlagsFinal -version | grep .*Use.*GC.*

(出来所有的参数,向下翻到 use 那一块,以 GC 结尾的,就是是否使用该收集器。当然 linux 可以用直接 | grep 。如果全为 false,那么会使用默认收集器)

 

linux ,可以看出使用的是 ParallelGC (新生代)和 ParallelOldGC(老年代)。

 

 

 

Windows,所有相关的参数都是 false。那么使用的是默认收集器组合 ParallelGC: 新生代 Parallel Scavenge + 老年代 Parallel Old