Tomcat GC日志语句的说明

dha*_*0us 13 logging tomcat 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]

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

Jos*_*seK 25

该线的分解如下:

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) 
Run Code Online (Sandbox Code Playgroud)

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

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

2509583K->1832973K(4116928K)
Run Code Online (Sandbox Code Playgroud)

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

0.1453610 secs]
Run Code Online (Sandbox Code Playgroud)

整个操作耗时0.1453610秒

[Times: user=0.31 sys=0.00, real=0.14 secs] 
Run Code Online (Sandbox Code Playgroud)

显示用户,系统和实际时间的分解.

这只是一行 - 您将寻找一个模式,特别是Full GC在其中说明并使用GCViewer之类的日志分析器来显示吞吐量和其他好东西.

另请阅读Sun文档以获取基础知识.

进一步阅读:

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

Java垃圾收集日志消息