第五章:GC日志分析

GC 分类

针对HotSpot VM的实现,它里面的GC按照回收区域又分为两大种类型:一种是部分收集(Partial GC),一种 是整堆收集(Full GC)

部分收集:不是完整收集整个Java堆的垃圾收集。其中又分为:

  • 新生代收集(Minor GC / Young GC) :只是新生代(Eden\S0,S1) 的垃圾收集

  • 老年代收集(Major GC / 01d GC) :只是老年代的垃圾收集。

    • 目前,只有CMSGC会有单独收集老年代的行为。、注意,很多时候Major GC会和Fu1l GC混淆使用,需要具体分辨是老年代回收还是整堆回收。
  • 混合收集(Mixed GC): 收集整个新生代以及部分老年代的垃圾收集。

    • 目前,只有G1 GC会有这种行为
  • 整堆收集(Full GC): 收集整个java堆和方法区的垃圾收集。

Minor GC

image-20221102111011340

具体分析

2022-11-02T11:09:43.350+0800: [GC (Allocation Failure) [PSYoungGen: 15360K->2528K(17920K)] 15360K->14340K(58880K), 0.0082268 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
  • 2022-11-02T11:09:43.350+0800: 由 -XX:+PrintGCDateStamps 打印而来,发生 GC 的时间
  • GC (Allocation Failure) : 发生 GC 的原因
    • Allocation Failure : 表示新生代内存不足,无法为新对象分配内存
  • PSYoungGen : PS 表示垃圾回收器的类型时 Parallel scavenge 收集器、 Young Gen 表示 回收的区域: Eden + from/to 区
  • 15360K->2528K(17920K) : 15360K->2528K GC 回收前后大小。17920K 表示 新生代大小的 9/10 。
    • Eden : from : to 的比例为 8:1:1 , 有一个 survivor 区域是空的。
  • 15360K->14340K(58880K) :整个堆空间的GC回收情况。 新生代9/10 + 老年代
  • 0.0082268 secs : GC 回收的时间
  • Times: user=0.00 sys=0.00, real=0.01 secs
    • user : 指的是 CPU 工作在用户状态所花费的时间
    • sys:指的是 CPU 工作在内核态所花费的时间
    • real : 指的是在此次 GC 时间中所花费的总时间

Full GC

image-20221102113231631

具体分析

2022-11-02T11:10:18.112+0800: [Full GC (Ergonomics) [PSYoungGen: 2558K->0K(17920K)] [ParOldGen: 28674K->27592K(40960K)] 31233K->27592K(58880K), [Metaspace: 4002K->4002K(1056768K)], 0.0275986 secs] [Times: user=0.13 sys=0.00, real=0.03 secs] 
  • 2022-11-02T11:10:18.112+0800: 发生 GC 的时间
  • GC (Ergonomics) : GC 的原因,由于 JVM 的自适应策略导致的
  • [PSYoungGen: 2558K->0K(17920K)] : GC 的区域、类型,以及 GC 前后的内存空间。(新生代)
  • [ParOldGen: 28674K->27592K(40960K)] : GC 的区域、类型,以及 GC 前后的内存空间(老年代)
  • 31233K->27592K(58880K) : 整个堆空间(9/10) GC 前后的内存变化
  • [Metaspace: 4002K->4002K(1056768K)] : 元空间 GC 前后变化、
  • Times: user=0.00 sys=0.00, real=0.01 secs
    • user : 指的是 CPU 工作在用户状态所花费的时间
    • sys:指的是 CPU 工作在内核态所花费的时间
    • real : 指的是在此次 GC 时间中所花费的总时间

所花费的时间

  • sys:指的是 CPU 工作在内核态所花费的时间
  • real : 指的是在此次 GC 时间中所花费的总时间


各位彭于晏,如有收获点个赞不过分吧…✌✌✌

Alt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲨瓜2号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值