前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JVM性能调优-FullGC与Minor的区别频繁FullGC问题分析

JVM性能调优-FullGC与Minor的区别频繁FullGC问题分析

作者头像
cwl_java
发布2019-12-19 21:14:40
9200
发布2019-12-19 21:14:40
举报
文章被收录于专栏:cwl_Javacwl_Java
简介:FullGC与MinorGC讲解
Minor GC触发条件

当Eden区满时,触发Minor GC

FullGC触发条件
  • 调⽤ System.gc() 此⽅法的调⽤是建议 JVM 进⾏ Full GC,虽然只是建议⽽⾮⼀定,但很多情况下它会触发 Full GC。因此强烈建议能不使⽤此⽅法就不要使⽤,让虚拟机⾃⼰去管理它的内存。可通过 -XX:+ DisableExplicitGC 来禁⽌ RMI 调⽤ System.gc()
  • ⽼年代空间不⾜ ⽼年代空间不⾜的常⻅场景为前⽂所讲的⼤对象直接进⼊⽼年代、⻓期存活的对象进⼊⽼年代等,当执⾏ Full GC 后空间仍然不⾜,则抛出Java.lang.OutOfMemoryError。为避免以上原因引起的 Full GC,调优时应尽量做到让对象在 Minor GC 阶段被回收、让对象在新⽣代多存活⼀段时间以及不要创建过⼤的对象及数组
  • 空间分配担保失败 使⽤复制算法的 Minor GC 需要⽼年代的内存空间作担保,如果出现HandlePromotionFailure 担保失败,则会触发 Full GC
项⽬中出现频繁FullGC,也就是系统空间分配不⾜导致的系统堆内存强制回收
  • 由于本机单服务内存过⼤导致,此场景下Full GC,⽽且需要回收的内存很⼤,持续时间过⻓
  • 解决停顿时间过⻓问题,缩短GC时间
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介:FullGC与MinorGC讲解
  • Minor GC触发条件
  • FullGC触发条件
  • 项⽬中出现频繁FullGC,也就是系统空间分配不⾜导致的系统堆内存强制回收
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档