Tomcat GC日志语句的说明

时间:2010-12-17 07:33:17

标签: tomcat logging garbage-collection

这是我的catalina.out中的一条声明,由我的tomcat服务器生成:

1885.855:[GC [PSYoungGen:742996K-> 64359K(761472K)] 2509583K-> 1832973K(4116928K),0.1453610 secs] [次:用户= 0.31 sys = 0.00,real = 0.14 secs]

有人可以在这里解释各种数字的含义吗?

1 个答案:

答案 0 :(得分:24)

该线的分解如下:

1885.85 - 这在几秒钟内就是JVM运行的时间,所以在你的情况下大约31分钟左右就会发生GC。

[GC - 说明此时发生的GC。这是部分GC,有时会显示Full GC

现在,可用于JVM的总堆=年轻+旧

[PSYoungGen:742996K->64359K(761472K) - 表示Young代中的Parallel Scavenging Collector(它是JVM中可用的众多GC收集器之一)。

GC释放的内存始终为

模式
x->y(z) 
  

x是GC之前的初始内存,y是   GC后的内存,z是总数   内存允许该区域   JVM

所以在你的例子中, 742996K->64359K(761472K) - 年轻的总年龄为761Mb,当它达到742 Mb时,收集发生了,并且清除到64.3Mb 即它清理了678 Mb

2509583K->1832973K(4116928K)

这里表示总堆内存。 因此,在可能存在的4.1 Gb堆中,当GC发生时,它已经填充了2.5 Gb并且已经降至1.83 Gb - 再次相同的678 Mb是被清除的。

0.1453610 secs]

整个操作耗时0.1453610秒

[Times: user=0.31 sys=0.00, real=0.14 secs] 

显示了user, system and real times的分手。

这只是一行 - 您将寻找一种模式,其中包含Full GC 并使用像GCViewer这样的日志分析器来显示吞吐量和其他好东西。

另请阅读docs from Sun以获取基础知识。

进一步阅读:

http://sujitpal.blogspot.com/2006/08/charting-jvm-garbage-collection.html

Java Garbage Collection Log messages