tomcat - Tomcat GC日志语句解释

标签 tomcat logging garbage-collection

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

1885.855:[GC [Psyounggen:742996K-> 64359K(761472K)] 2509583K-> 1832973K(4116928K),0.1453610 SECS]

谁能解释一下这里各种数字的含义?

最佳答案

线路分解如下:

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

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

现在,可用于 JVM 的 Total Heap = Young + Old

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

GC释放的内存始终是pattern

x->y(z) 

x is the initial memory before GC, y is the memory after GC, z is the total memory allowed for that area in the JVM

所以在你的例子中, 742996K->64359K(761472K) - Young 的总大小为 761Mb,当它达到 742Mb 时发生了一次收集,并清除到 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

关于tomcat - Tomcat GC日志语句解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4468546/

相关文章:

java - Tomcat 运行服务而不是 Web 应用程序

tomcat - m2eclipse 和 tomcat

email - 两个单独的 Tomcat webapps 中的 activation.jar 导致 javax.activation.UnsupportedDataTypeException : no object DCH for MIME type multipart/mixed;

ruby - 如何使用 Ruby 和 eventmachine 登录?

c# - 为什么后台垃圾收集有时会暂停我的应用程序,我该如何防止它发生?

java - Java中潜在的内存泄漏,这段代码是否会导致内存泄漏?

jsp - 没有地址在使用时的tomcat Address already in use错误

java - 如何从 java.util.logging.Logger Logging 记录消息,然后将其打印到文本文件?

javascript - Sails.js 日志传输取决于环境

C# 垃圾回收