Tomcat则直接加在JAVA_OPTS变量里。
如何分析GC日志
下图中是我截取的JVM刚启动的一部分GC日志
我们可以看到图中第一行红框,是项目的配置参数。这里不仅配置了打印GC日志,还有相关的VM内存参数。
第二行红框中的是在这个GC时间点发生GC之后相关GC情况。
1、对于2.909这是具体发生GC的时间点。这是时间戳是从jvm启动开始计算的,前面还有具体的发生时间日期。
2、FullGC(MetadataGCThreshold)指这是一次fullgc,括号里是gc的原因,PSYoungGen是年轻代的GC,
ParOldGen是老年代的GC,Metaspace是元空间的GC
3、6160K->0K(141824K),这三个数字分别对应GC之前占用年轻代的大小,GC之后年轻代占用,以及整个年轻代的大
小。
4、112K->6056K(95744K),这三个数字分别对应GC之前占用老年代的大小,GC之后老年代占用,以及整个老年代的
大小。
5、6272K->6056K(237568K),这三个数字分别对应GC之前占用堆内存的大小,GC之后堆内存占用,以及整个堆内存
的大小。
6、20516K->20516K(1069056K),这三个数字分别对应GC之前占用元空间内存的大小,GC之后元空间内存占用,以
及整个元空间内存的大小。
7、0.0209707是该时间点GC总耗费时间。
上面的这些参数,能够帮我们查看分析GC的垃圾收集情况。但是如果GC日志很多很多,成千上万行。就算你一目十行,
看完了,脑子也是一片空白。所以我们可以借助一些功能来帮助我们分析,这里推荐一个gceasy(https://gceasy.io),可以
上传gc文件,然后他会利用可视化的界面来展现GC情况。具体下图所示
评论0
最新资源