我們檢查了我們的Java應用程序的gc日誌,發現即使堆中有足夠的空間,整個gc也一次又一次地運行。即使堆中有足夠的空間,整個垃圾收集器也會一次又一次地運行
有些人可以幫助我們瞭解我們這個原因是什麼?當堆足夠空閒時,可能會導致調用Full GC一遍又一遍地運行。
添加樣品GC日誌
157864.497: [GC [PSYoungGen: 54016K->2480K(54592K)] 376436K->327940K(385792K), 0.0237780 secs] [Times: user=0.07 sys=0.01, real=0.03 secs]
157864.520: [Full GC [PSYoungGen: 2480K->0K(54592K)] [PSOldGen: 325460K->89870K(303168K)] 327940K->89870K(357760K) [PSPermGen: 18527K->18527K(18816K)], 0.7729250 secs] [Times: user=0.75 sys=0.00, real=0.77 secs]
157865.446: [GC [PSYoungGen: 50944K->1776K(54528K)] 140814K->91646K(357696K), 0.0103750 secs] [Times: user=0.03 sys=0.00, real=0.01 secs]
以-XX:+ PrintGCCause運行。它未啓用的事實表明您使用的是Java 7,您可能應該升級,因爲它已編輯了描述,因此它已到達EOL – the8472