相关系列
如何分析gc日志
java -jar -Xloggc:./gc-%t.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintGCCause -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M microservice-eureka-server.jar
查看日志
下面是从日志截取出来的一部分GC日志
分析日志
看第一行红框,是jar的启动项目参数。配置打印GC日志,还有相关的JVM内存参数。
第二行红框中的是这个GC时间点发生GC后相关GC情况。
1、对1.395:这是JVM启动开始计算到这次GC经过的时间,前面还有具体的发生时间日期。
2、Full GC (Metadata GC Threshold)是指这是一次full gc,括号里是gc的原因,PSYoungGen是年轻代的GC,ParOldGen是才年代的GC,Metaspace是元空间的GC
3、13281K->0K(626176K),这三个数字分别对应GC之前占用年轻代的大小,GC之后老年轻代占用,以及整个年轻代的大小
4、 16811K->22612K(459776K),这三个数字分别对应GC之前占用老年代的大小,GC之后老年代占用,以及整个老年代的大小
5、30092K->22612K(1085952K),这三个数字分别对应GC之前占用堆内存的大小,GC之后堆内存占用,以及整个堆内存的大小
6、34822K->34822K(1081344K),这三个数字分别对应GC之前元空间内存的大小,GC之后元空间内存占用,以及整个元空间内存的大小。
7、0.0441152 secs是应该时间点总耗费时间。