CMS -> Full GC
concurrent mode failure
CMS - 响应时间优先GC
- 初始标记
- 并发标记
- 并发预清理,改变当运行第二阶段时,由应用程序线程产生的对象引用,以更新第二阶段的结果
- 重标记,暂停应用重新标记
- 并发清理
- 并发重置
-XX:+UseConcMarkSweepGC
-XX:UseParNewGC
-XX:+CMSConcurrentMTEnabled
-XX:ConcGCThreads
-XX:CMSInitiatingOccupancyFraction
-XX:+CMSClassUnloadingEnabled
-XX:+ExplicitGCInvokesConcurrent
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses
-XX:+PrintGCTimeStamps
-XX:+PrintGCDateStamps
打印JVM参数
# 500+参数
java -client -XX:+PrintFlagsFinal TestClass
# 700+参数,更多
java -server -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal TestClass
# 用户设置的参数
java -server -XX:+PrintCommandLineFlags TestClass
吞吐量优先GC
-XX:+USEPARALLELGC
-XX:+USEPARALLELOLDGC
-XX:PARALLELGCTHREADS