【问题标题】:Explanation of Tomcat GC log statementsTomcat GC日志语句说明
【发布时间】:2011-05-26 23:53:12
【问题描述】:

这是来自我的 catalina.out 的声明,由我的 tomcat 服务器生成:

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

有人能解释一下这里各种数字的含义吗?

【问题讨论】:

    标签: tomcat logging garbage-collection


    【解决方案1】:

    断线如下:

    1885.85 - 以秒为单位是 JVM 已经运行的时间量,因此在您的情况下大约 31 分钟左右发生了 GC。

    [GC - 表示此时发生了 GC。这是一个Partial GC,有时会显示Full GC

    现在,JVM 可用的总堆数 = Young + Old

    [PSYoungGen:742996K->64359K(761472K) - 表示年轻代中的并行清除收集器(它是 JVM 中可用的多种 GC 收集器之一)。

    被 GC 释放的内存总是这种模式

    x->y(z) 
    

    x是GC前的初始内存,y是 GC后的内存,z是总数 内存允许在该区域 虚拟机

    所以在你的例子中, 742996K->64359K(761472K) - Young 的总大小是 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

    【讨论】:

    猜你喜欢
    • 2011-02-18
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    相关资源
    最近更新 更多