【GC日志分析】-对象晋升到老年代分析

[GC (Allocation Failure) [PSYoungGen: 123456K->65432K(262144K)] 123456K->765432K(1048576K), 0.1234567 secs] [Times: user=0.10 sys=0.02, real=0.13 secs]

从这段GC日志中,可以看到两个年轻代和老年代的堆内存容量变化情况。

首先,我们来看年轻代的部分: [PSYoungGen: 123456K->65432K(262144K)]

这里的"[PSYoungGen: 123456K->65432K(262144K)]"表示年轻代在GC前后的内存使用情况。

  • "123456K"表示在GC前年轻代被占用的内存大小为123456K。
  • "->"后面的"65432K"表示在GC后,年轻代被占用的内存大小为65432K。
  • 最后的"(262144K)"表示年轻代的总容量为262144K。

接下来,我们来看整个堆内存的部分: 123456K->765432K(1048576K)

这里的"123456K->765432K(1048576K)"表示整个堆在GC前后的内存使用情况。

  • "123456K"表示在GC前整个堆被占用的内存大小为123456K。
  • "->"后面的"765432K"表示在GC后,整个堆被占用的内存大小为765432K。
  • 最后的"(1048576K)"表示整个堆的总容量为1048576K。

根据这段GC日志中的信息,我们可以得出以下结论:

  1. 年轻代的内存使用量从123456K减少到了65432K,说明有一部分对象被回收掉了。
  2. 整个堆的内存使用量从123456K增加到了765432K,说明有对象晋升到了老年代。

综上所述,根据GC日志中年轻代和整个堆内存的变化情况,我们可以确定有对象晋升到老年代。

 

[Full GC (System) [PSYoungGen: 65432K->12345K(262144K)] [ParOldGen: 543210K->765432K(1048576K)] 543210K->777777K(1310720K), [Metaspace: 123456K->654321K(1048576K)], 1.2345678 secs] [Times: user=0.10 sys=0.02, real=1.24 secs]

从这段GC日志中,可以看到两个年轻代和老年代的堆内存容量变化情况。

首先,我们来看年轻代的部分: [PSYoungGen: 123456K->65432K(262144K)]

这里的"[PSYoungGen: 123456K->65432K(262144K)]"表示年轻代在GC前后的内存使用情况。

  • "123456K"表示在GC前年轻代被占用的内存大小为123456K。
  • "->"后面的"65432K"表示在GC后,年轻代被占用的内存大小为65432K。
  • 最后的"(262144K)"表示年轻代的总容量为262144K。

接下来,我们来看整个堆内存的部分: 123456K->765432K(1048576K)

这里的"123456K->765432K(1048576K)"表示整个堆在GC前后的内存使用情况。

  • "123456K"表示在GC前整个堆被占用的内存大小为123456K。
  • "->"后面的"765432K"表示在GC后,整个堆被占用的内存大小为765432K。
  • 最后的"(1048576K)"表示整个堆的总容量为1048576K。

根据这段GC日志中的信息,我们可以得出以下结论:

  1. 年轻代的内存使用量从123456K减少到了65432K,说明有一部分对象被回收掉了。
  2. 整个堆的内存使用量从123456K增加到了765432K,说明有对象晋升到了老年代。

综上所述,根据GC日志中年轻代和整个堆内存的变化情况,我们可以确定有对象晋升到老年代。

你可能感兴趣的:(java,jvm,算法)