这是我的tomcat服务器生成的catalina.out中的一条语句:
1885.855:[GC [PSYoungGen:742996K-> 64359K(761472K)] 2509583K-> 1832973K(4116928K),0.1453610秒] [时间:用户= 0.31 sys = 0.00,真实= 0.14秒]
有人可以在这里解释各种数字的含义吗?
该行的分解如下:
1885.85 -这是以秒为单位的,是JVM运行的时间,因此,在您的情况下,大约是31分钟,此时发生了GC。
1885.85
[GC-指出在此时间点发生了GC。这是部分GC,有时会显示Full GC
[GC
Full GC
现在,可用于JVM的总堆=年轻+老
[PSYoungGen:742996K->64359K(761472K) -表示年轻一代中的并行清除收集器(这是JVM中可用的多种GC收集器之一)。
[PSYoungGen:742996K->64359K(761472K)
GC释放的内存始终属于该模式
x->y(z)
x是GC之前的初始内存,y是GC之后的内存,z是JVM中该区域允许的总内存
因此,在您的示例中, 742996K->64359K(761472K)-总的Young大小为761Mb,当它达到742 Mb时发生了一次收集,它清除到64.3Mb,即清除了678 Mb
742996K->64359K(761472K)
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]
这只是一行-您将在其中寻找一种模式,尤其是其中的一种,Full GC并使用GCViewer之类的日志分析器向您显示吞吐量和其他优点。
另请阅读Sun的文档以获取基础知识。