了解GC日志和Web应用程序中的延迟

时间:2015-03-16 11:52:31

标签: java web-applications garbage-collection

这是webapp(JBoss 7.1)的GC日志。如何解读这些信息? Webapp有时会有明显的延迟,我试图找到原因。

362.261: [GC [PSYoungGen: 12772K->677K(13056K)] 47780K->35813K(57600K), 0.0214030 secs] [Times: user=0.01 sys=0.00, real=0.02 secs]
375.011: [GC [PSYoungGen: 12965K->537K(13056K)] 48101K->36056K(57600K), 0.0410890 secs] [Times: user=0.01 sys=0.00, real=0.04 secs]
377.211: [GC [PSYoungGen: 12823K->764K(12800K)] 48342K->36391K(57344K), 0.0774440 secs] [Times: user=0.01 sys=0.00, real=0.08 secs]
400.197: [GC [PSYoungGen: 12796K->777K(13056K)] 48423K->36464K(57600K), 0.0204340 secs] [Times: user=0.01 sys=0.00, real=0.02 secs]
...
4222.821: [Full GC [PSYoungGen: 4096K->0K(8704K)] [ParOldGen: 55161K->40145K(55552K)] 59257K->40145K(64256K) [PSPermGen: 52107K->52107K(87552K)], 1.0148930 secs] [Times: user=0.79 sys=0.01, real=1.02 secs]

1 个答案:

答案 0 :(得分:1)

[Times: user=0.79 sys=0.01, real=1.02 secs] - 是世界各地停顿的摘要。挂起时间为1.02秒,所有应用程序线程都被挂起(因此所有正在处理的HTTP请求都被延迟)。

" Full GC"当收集年轻和旧的空间时,意味着主要的GC。只是" GC"是次要GC,只收集年轻空间中的垃圾(因此StW暂停时间较短)。

您可以在HotSpot JVM here中找到有关GC算法的更多信息。如果您对StW暂停期间发生的事情感到好奇,请查看this文章。