一、生成GC日志
1、生成GC日志1
-XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/logs/ -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:d:/logs/gc.log
2、 生成GC日志2
-XX:MetaspaceSize=64M -XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/logs/ -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:d:/logs/gc.log
二、打开GC分析工具分析GC日志
java -jar gcviewer-1.36.jar
1、打开第一次gc.log
2、打开第二次gc.log
3、两次性能对比:
吞吐 最大停顿时间 最小停顿时间 平均停顿时间
95.49 0.0248 0.00398 0.00946
97.21 0.0100 0.00504 0.00709
此外,还可以使用更多参数对比:
-XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/logs/ -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:d:/gclogs/gc.log
-XX:MetaspaceSize=64M -XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/logs/ -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:d:/gclogs/gc.log
-XX:+UseG1GC -XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/logs/ -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:d:/gclogs/gc.log
-XX:MaxGCPauseMillis=100 -XX:GCTimeRatio=99 -XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/logs/ -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:d:/gclogs/gc.log