young gc时间缩减

24 篇文章 0 订阅

young gc的耗时主要有两个方面

  1. 从root对象进行扫描存活的对象
  2. 复制存活的对象

从缩短扫描存活对象的方面入手:首先我们先考虑root对象包含哪些

1、所有java线程以及线程栈帧里指向GC堆里的对象的引用
2、JNI Local & Global
3、由系统类加载器(system class loader)加载的对象,这些类是不能够被回收的
4、stack local Java方法的local变量或参数
5、其他,包含monitor & finalizable & native stack 等吧

 

  •  只要减少GC roots集合大小以及降低每次gc 之后的存活对象就可以了;减少GC root集合主要是减少线程数
  • 调整Eden区域大小对应用产生的可能影响,扩充年轻代大小,这样不会因为Survivor区小而被迫进入老年代
  • 减少对象生成 以到达降低young gc 次数;线程池或者对象池复用的技术

2020-05-08T17:46:39.163+0800: 5.916: [GC pause (G1 Evacuation Pause) (young), 0.0187382 secs]
   [Parallel Time: 17.8 ms, GC Workers: 8]
      [GC Worker Start (ms): Min: 5916.0, Avg: 5921.5, Max: 5926.9, Diff: 10.9]
      [Ext Root Scanning (ms): Min: 0.0, Avg: 0.7, Max: 1.9, Diff: 1.9, Sum: 5.3]
      [Update RS (ms): Min: 0.0, Avg: 1.3, Max: 3.3, Diff: 3.3, Sum: 10.8]
         [Processed Buffers: Min: 0, Avg: 3.1, Max: 10, Diff: 10, Sum: 25]
      [Scan RS (ms): Min: 0.0, Avg: 0.4, Max: 1.0, Diff: 1.0, Sum: 3.0]
      [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.2, Diff: 0.2, Sum: 0.3]
      [Object Copy (ms): Min: 0.5, Avg: 5.2, Max: 12.8, Diff: 12.2, Sum: 41.4]
      [Termination (ms): Min: 0.0, Avg: 4.7, Max: 6.3, Diff: 6.3, Sum: 37.3]
         [Termination Attempts: Min: 1, Avg: 1.6, Max: 3, Diff: 2, Sum: 13]
      [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1]
      [GC Worker Total (ms): Min: 6.8, Avg: 12.3, Max: 17.7, Diff: 10.9, Sum: 98.2]
      [GC Worker End (ms): Min: 5933.7, Avg: 5933.7, Max: 5933.8, Diff: 0.0]
   [Code Root Fixup: 0.1 ms]
   [Code Root Purge: 0.0 ms]
   [Clear CT: 0.1 ms]
   [Other: 0.7 ms]
      [Choose CSet: 0.0 ms]
      [Ref Proc: 0.4 ms]
      [Ref Enq: 0.0 ms]
      [Redirty Cards: 0.1 ms]
      [Humongous Register: 0.0 ms]
      [Humongous Reclaim: 0.0 ms]
      [Free CSet: 0.1 ms]
   [Eden: 50.0M(50.0M)->0.0B(46.0M) Survivors: 8192.0K->8192.0K Heap: 81.9M(100.0M)->35.3M(100.0M)]
 [Times: user=0.12 sys=0.00, real=0.02 secs]

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值