你能解释这个日志吗?
142.678: [Full GC 142.678: [CMS142.764: [CMS-concurrent-mark: 0.088/0.088 secs] [Times: user=0.09 sys=0.00, real=0.09 secs]
(concurrent mode failure): 21888K->19536K(21888K), 0.2969878 secs] 31679K->23701K(31680K), [CMS Perm : 1489K->1489K(12288K)], 0.2972058 secs] [Times: user=0.30 sys=0.00, real=0.30 secs]
答案 0 :(得分:1)
您的new generation
填满的速度非常快,tenured generation
的并发收集无法在new generation
填满之前完成。
尝试增加new generation
。
有关详细说明,请查看here。
答案 1 :(得分:1)
首先,您正在使用CMS垃圾收集器(在Understanding pauses of CMS collector
查找有关它的更多信息(并发模式失败)意味着后台垃圾收集器无法足够快地回收内存(年轻收集无法在tenured generation中找到一些可用空间来提升对象)并且JVM已切换到stop-the -world FullGC 。
可能的原因 - 堆太小了 - 年轻一代太小,许多年轻物体正在泄露终身空间。