当前位置: 首页 > news >正文

【jvm】young gc full gc

何时触发YoungGC或FullGC

YoungGC的触发时常在发生,当新生代的Eden区满了之后就会触发YoungGC。

FullGC在多个情况下都会被触发:

1、发生Young GC之前进行检查,如果“老年代可用的连续内存空间” < “新生代历次Young GC后升入老年代的对象总和的平均大小”,说明本次Young GC后可能升入老年代的对象大小,可能超过了老年代当前可用内存空间,此时会触发FullGC

2、当老年代没有足够空间存放对象时,会触发一次FullGC

3、如果元空间区域的内存达到了所设定的阈值-XX:MetaspaceSize=,也会触发FullGC。

4.显式调用System.gc() 或者Runtime.gc() 

几个触发老年代FULL GC的时机

1、老年代可用内存小于新生代全部对象的大小,如果没开启空间担保参数,会直接触发Full GC,所以一般空间担保参数都会打开。

2、老年代可用内存小于历次新生代GC后进入老年代的平均对象大小,此时会提前Full GC;但是"-XX:HandlePromotionFailure"参数,在JDK 1.6以后就被废弃了,所以现在一般都不会在生产环境里设置这个参数了。在JDK 1.6以后,只要判断"老年代可用空间"大于"新生代对象总和"或者"老年代可用空间"大于"历次Minor GC升入老年代对象的平均大小",两个条件满足一个,就可以直接进行Minor GC,不需要提前触发Full GC了。

3、是新生代Minor GC后的存活对象大于Survivor,那么就会进入老年代,此时老年代内存不足,触发Full GC。这里的不足就是判断条件后还是不足或者经过判断后进行YGC后放入老年代此时的空间不足,然后进行Full GC,就会出现频繁Full GC。达到一定情况后,就会OOM了。

4、是如果用的是CMS收集器,老年代可用内存大于历次新生代GC后进入老年代的对象平均大小,但是老年代已经使用的内存空间超过了("-XX:CMSInitiatingOccupancyFaction=92%"JDK6默认值 )这个参数指定的比例,也会自动触发Full GC。

 Minor GC、Young GC、Full GC、Old GC、Major GC、Mixed GC 一文搞懂

JVM young gc和full gc触发条件_younggc触发条件-CSDN博客

JVM:29 面试题:Young GC和Full GC分别在什么情况下会发生?_young gc 情况-CSDN博客

各类GC及触发条件_concurrent gc-CSDN博客 

http://www.lryc.cn/news/326590.html

相关文章:

  • 2024年腾讯云服务器租用价格_轻量和CVM报价
  • 【go从入门到精通】for循环控制
  • <chrono>, clock_gettime(), gettimeofday()对比
  • 基于 YAML 接口自动化测试框架设计
  • 团体程序设计天梯赛 L2-031 深入虎穴
  • 基于Givens旋转完成QR分解进而求解实矩阵的逆矩阵
  • 学习使用xbox手柄控制小乌龟节点移动
  • OpenLayers6实战,OpenLayers绘制特殊图形,OpenLayers绘制四角形(菱形),OpenLayers绘制菱形
  • 虚拟机如何在原有磁盘上扩容
  • 2024-03-27 作业
  • C语言二叉树和堆(个人笔记)
  • 重学SpringBoot3-Profiles介绍
  • Transformer 论文阅读笔记
  • Vue 3中ref和reactive的区别
  • oracle19c adg搭建
  • 关闭Elasticsearch built-in security features are not enabled
  • MC0248 密码判断器(判断强弱密码)
  • vue3+threejs新手从零开发卡牌游戏(十六):初始化对方手牌
  • 网页无插件视频播放器,支持录像、截图、音视频播放,多路播放等,提供源码下载
  • Openstack创建和操作实例,实现与外部网络通信
  • dubbo 源码系列之-集群三板斧---负载均衡(二)
  • 【一周一篇小题解】洛谷P1035级数求和
  • 2024-03-26 AIGC-大模型学习路线
  • QGraphicsView的使用,view坐标,scene坐标,item坐标
  • from_pretrained 做了啥
  • 2024/03/27(C++·day3)
  • Multimodal Chain-of-Thought Reasoning in Language Models阅读笔记
  • C语言例4-15:从键盘输入一个整数,求其绝对值并输出。
  • 【Linux】调试器-gdb的使用说明(调试器的配置,指令说明,调试过程说明)
  • Oracle AI Vector Search Multi-Vector Similarity Search 即多向量相似度检索学习笔记