如何读取详细:GC输出?

70.222: [GC [PSYoungGen: 131072K->15437K(152896K)] 131072K->15509K(502464K), 0.0228420 秒] [次数: user=0.09 sys=0.01, real=0.02 secs]


答案 1

您可以找到有关解释详细GC输出的教程,例如。在:

看看 verbosegc 输出教程 - Java 7,你可以看到 YoungGen 空间分析

2014年3月27日更新:收集时间(秒)”实际上是一个时间戳,显示GC发生的时间。收集时间报告为 。Times=user=0.45 sys=0.01, real=0.14 secs]

enter image description here

这里,均值 -> 。262208K->137900K(100428K)Java Heap before GCJava Heap after GC (Total Size of the Java Heap)

以及,OldGen空间分析

enter image description here


答案 2

除了其他答案,我正在解释日志的“时间”部分

[次数:用户=0.09系统=0.01,实数=0.02秒]

详细日志的“时间”部分包含有关 GC 使用的 CPU 时间的信息,分为操作系统的用户空间(“用户”)和内核空间(“系统”)。此外,它还显示GC运行时经过的实时时间(“真实”)。

在您的例子中,CPU时间(0.09秒)大大高于通过的实时时间(0.02秒),我们可以得出结论,GC是使用多个线程运行的。

详细示例