{Heap before GC invocations=2 (full 1):
PSYoungGen total 1223680K, used 18197K [0x00000007aaa80000, 0x0000000800000000, 0x0000000800000000)
eden space 1049088K, 0% used [0x00000007aaa80000,0x00000007aaa80000,0x00000007eab00000)
from space 174592K, 10% used [0x00000007eab00000,0x00000007ebcc56d8,0x00000007f5580000)
to space 174592K, 0% used [0x00000007f5580000,0x00000007f5580000,0x0000000800000000)
ParOldGen total 2796544K, used 8K [0x00000006fff80000, 0x00000007aaa80000, 0x00000007aaa80000)
object space 2796544K, 0% used [0x00000006fff80000,0x00000006fff82000,0x00000007aaa80000)
PSPermGen total 262144K, used 12625K [0x00000006dff80000, 0x00000006eff80000, 0x00000006fff80000)
object space 262144K, 4% used [0x00000006dff80000,0x00000006e0bd4740,0x00000006eff80000)
2020-07-07T23:57:44.208+0800: 1.928: [Full GC [PSYoungGen: 18197K->0K(1223680K)] [ParOldGen: 8K->17895K(2796544K)] 18205K->17895K(4020224K) [PSPermGen: 12625K->12622K(262144K)], 0.0854470 secs] [Times: user=0.40 sys=0.02, real=0.08 secs]
Heap after GC invocations=2 (full 1):
PSYoungGen total 1223680K, used 0K [0x00000007aaa80000, 0x0000000800000000, 0x0000000800000000)
eden space 1049088K, 0% used [0x00000007aaa80000,0x00000007aaa80000,0x00000007eab00000)
from space 174592K, 0% used [0x00000007eab00000,0x00000007eab00000,0x00000007f5580000)
to space 174592K, 0% used [0x00000007f5580000,0x00000007f5580000,0x0000000800000000)
ParOldGen total 2796544K, used 17895K [0x00000006fff80000, 0x00000007aaa80000, 0x00000007aaa80000)
object space 2796544K, 0% used [0x00000006fff80000,0x00000007010f9cc0,0x00000007aaa80000)
PSPermGen total 262144K, used 12622K [0x00000006dff80000, 0x00000006eff80000, 0x00000006fff80000)
object space 262144K, 4% used [0x00000006dff80000,0x00000006e0bd38f8,0x00000006eff80000)
}
https://www.cnblogs.com/leeying/p/3782441.html
这段GC日志记录了一次Full GC操作,具体分析如下:
在GC之前,堆内存共经过了2次垃圾回收操作(包括1次Full GC);
新生代(PSYoungGen)的总大小为1223680K,目前已使用18197K,其中Eden区的大小是1049088K,当前未使用;
from space的大小为174592K,已使用10%,to space的大小也为174592K,但未使用;
老年代(ParOldGen)的总大小为2796544K,目前已使用8K,占用率极低;
持久代(PSPermGen)的总大小为262144K,目前已使用12625K,占用率为4%;
Full GC操作是由于新生代和老年代都出现了垃圾堆积,无法进行正常的清理而触发的;
在Full GC操作中,新生代的已使用空间降低到了0K,老年代的已使用空间增加到了17895K;
整个堆内存使用的总空间从18205K降低到了17895K;
Full GC操作耗时0.0854470秒。
根据GC日志,推测该应用程序存在大量申请内存、释放内存不规范的情况,导致堆内存空间急剧增加,同时也会频繁触发Full GC操作,从而增加程序运行的时间成本。建议进行代码优化,避免过多的内存申请和释放,采用合适的垃圾回收算法,以便提高程序执行效率和资源利用效率。