267752.705: [Full GC [PSYoungGen: 577525K->0K(577536K)] [PSOldGen: 1398142K->651426K(1398144K)] 1975668K->651426K(1975680K) [PSPermGen: 67030K->67030K(67200K)], 2.6891040 secs] [Times: user=2.50 sys=0.19, real=2.69 secs]
267862.293: [Full GC [PSYoungGen: 10227K->0K(621376K)] [PSOldGen: 1334905K->782029K(1398144K)] 1345132K->782029K(2019520K) [PSPermGen: 67064K->67064K(67200K)], 3.4343070 secs] [Times: user=3.15 sys=0.28, real=3.43 secs]
267997.720: [Full GC [PSYoungGen: 39129K->0K(609664K)] [PSOldGen: 1306853K->751837K(1398144K)] 1345983K->751837K(2007808K) [PSPermGen: 67110K->67110K(67264K)], 3.1958420 secs] [Times: user=2.98 sys=0.22, real=3.20 secs]
268651.536: [Full GC [PSYoungGen: 1903K->0K(527296K)] [PSOldGen: 1339121K->508785K(1398144K)] 1341025K->508785K(1925440K) [PSPermGen: 67171K->66977K(67072K)], 2.5451260 secs] [Times: user=2.37 sys=0.17, real=2.54 secs]
269585.161: [Full GC [PSYoungGen: 59359K->0K(627840K)] [PSOldGen: 1361392K->783142K(1398144K)] 1420752K->783142K(2025984K) [PSPermGen: 67048K->67048K(67200K)], 3.4302980 secs] [Times: user=3.16 sys=0.27, real=3.43 secs]
269692.835: [Full GC [PSYoungGen: 7763K->0K(569024K)] [PSOldGen: 1354908K->474543K(1398144K)] 1362672K->474543K(1967168K) [PSPermGen: 67097K->67097K(67200K)], 2.0809150 secs] [Times: user=1.99 sys=0.10, real=2.08 secs]
271332.867: [Full GC [PSYoungGen: 49481K->0K(613120K)] [PSOldGen: 1378876K->451274K(1398144K)] 1428358K->451274K(2011264K) [PSPermGen: 67181K->67181K(67840K)], 1.7809160 secs] [Times: user=1.64 sys=0.14, real=1.78 secs]
看红色部分为老年代 gc过程,1378876代表回收时刻老年代的空间大小,451274代表回收后老年代空间的大小,heap分给总共老年代空间的大小1398144K代表。经过用jconsole观察发生full gc的时候都是因为老年代空间不足,触发的回收。
再分析下gc的:
271993.754: [GC [PSYoungGen: 657844K->22666K(665792K)] 1812388K->1177450K(2063936K), 0.0742960 secs] [Times: user=0.20 sys=0.20, real=0.07 secs]
272002.983: [GC [PSYoungGen: 654794K->24333K(665344K)] 1809578K->1179294K(2063488K), 0.0799810 secs] [Times: user=0.23 sys=0.25, real=0.08 secs]
272012.410: [GC [PSYoungGen: 656461K->23334K(665984K)] 1811422K->1178391K(2064128K), 0.0732550 secs] [Times: user=0.20 sys=0.23, real=0.08 secs]
272020.535: [GC [PSYoungGen: 655974K->25811K(658496K)] 1811031K->1180971K(2056640K), 0.0778270 secs] [Times: user=0.21 sys=0.15, real=0.08 secs]
272029.079: [GC [PSYoungGen: 658451K->31078K(660864K)] 1813611K->1186399K(2059008K), 0.0914770 secs] [Times: user=0.22 sys=0.27, real=0.09 secs]
272037.583: [GC [PSYoungGen: 658406K->35829K(663168K)] 1813727K->1195461K(2061312K), 0.1118950 secs] [Times: user=0.27 sys=0.47, real=0.11 secs]
看红色部分658406K回收时的容量,35829K回收后的容量,663168K年轻代总共的容量。在 jconsole中eden space和survivor space加起来才是年轻代的容量,年轻代分为他俩。
黄色字体是整个heap的回收情况。也是回收时的1813727K,回收后的1195461K 总的2061312K。可以看出回收的容量就是新生代回收了的容量,1813727K-1195461K=658406K-35829K。
heap整个空间容量分为老年代和新生代空间合。而新生代分为eden space和survivor space。