tomcat_garbage_collection_log(垃圾回收日志)分析 待整理

时间:2022-03-22 00:01:38
第一次:
243036.600: [GC 1155784K->1155439K(4132864K), 0.1700614 secs]
243040.779: [Full GC 1155439K->313334K(4132864K), 262.5038522 secs]
243343.120: [GC 804854K->321769K(4132864K), 0.0754559 secs]


第二次:
317991.181: [GC 4101931K->4108973K(4132864K), 0.4839274 secs]
318075.730: [Full GC 4108973K->600718K(4132864K), 1659.2852112 secs]
319735.947: [GC 1092238K->644746K(4132864K), 0.1394256 secs]

第三次:
407903.702: [GC 4048274K->3609573K(4132864K), 16.1494817 secs]
408055.891: [Full GC

这是tomcatGC日志下的三次full gc

第一次full gc前,1155784K到1155439K,正常

第二次full gc前,4101931K到4108973K,不增反而降了,并且这次full gc花了接近半个小时

//老年代空间使用60%就开始cmsgc

-XX:CMSInitiatingOccupancyFraction=60

-XX:CMSMaxAbortablePrecleanTime=100

第三次full gc不完整,是因为控制台出错,运维人员立刻就拷贝出了日志,然后重启了服务器(不在服务器重启之前拷贝日志,日志会被tomcat清除)

 

日志里面的一些单词介绍

串行收集器:
DefNew:是使用-XX:+UseSerialGC(新生代,老年代都使用串行回收收集器)。
并行收集器: ParNew:是使用
-XX:+UseParNewGC(新生代使用并行收集器,老年代使用串行回收收集器)
或者-XX:+UseConcMarkSweepGC(新生代使用并行收集器,老年代使用CMS)。 PSYoungGen:是使用-XX:+UseParallelOldGC(新生代,老年代都使用并行回收收集器)
或者-XX:+UseParallelGC(新生代使用并行回收收集器,老年代使用串行收集器) garbage-first heap:是使用-XX:+UseG1GC(G1收集器)