如何阅读详细信息:GC输出?

Gou*_*abp 28 java garbage-collection memory-management

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

Ale*_*leš 34

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

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

更新03/27/2014: " 收集时间(秒) "实际上是一个时间戳,显示GC发生的时间.收集时间报告为Times=user=0.45 sys=0.01, real=0.14 secs].

在此输入图像描述

在这里,262208K->137900K(100428K)手段Java Heap before GC- > Java Heap after GC (Total Size of the Java Heap).

而且,OldGen空间分析:

在此输入图像描述

  • 使用-XX:+ PrintGCDateStamps,您将获得进程运行的实际时间而不是时间.我发现它更有用. (4认同)

Vip*_*pin 13

除了其他答案,我正在解释日志的时段

[时间:用户= 0.09 sys = 0.01,实际= 0.02秒]

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

在您的情况下,CPU时间(0.09秒)远远高于实际传递的时间(0.02秒),我们可以得出结论,GC是使用多个线程运行的.

详细示例