JVM 系统异常排查优化

开篇小故事:

大话:有两套公寓楼,经济危机新公寓住满加房租导致小姑娘开车搬家,要么
1.老年公寓剩余住户《小姑娘公寓总住户空间,没上保险
2.老年公寓剩余住户《小姑娘住户 平均每次危机搬入老年公寓数
3.小姑娘搬家时发现 要搬老年公寓的小姑娘人数》老年公寓剩余数
4.直接限制了老年公寓小姑娘人数到达一定空间百分比时
都全部经济泡沫老年公寓宿管进行FullGC

然而:老年人的一次GC,啧啧 要不得,时间魔术:stop the world时间长

论:如何阻止老年公寓因小姑娘太多导致 老年人发疯STW
1.在经济危机小姑娘住户来来走走时 尽量都在新公寓,减少小姑娘频繁进入老年公寓引起后续恐怖效果;
2.增加新公寓的占地面积;
3.选择老年公寓适当的管理员GC

什么时间会触发GC呢?

JVM分为新生代(Eden/s0/s1)/老年代

1.新生代满了时或无法创建新对象时触发 老年代空间担保机制,来看是直接MinorGC或FullGC

  ①、是老年代可用内存小于新生代全部对象的大小,如果没开启空间担保参数,会直接触发Full GC,所以一般空间担保参数都会打开;注:jDK1.8之后已经取消了-XX:-HandlePromotionFailure 机制

  ②、是老年代可用内存小于历次新生代GC后进入老年代的平均对象大小,此时会提前Full GC;

  ③、是新生代Minor GC后的存活对象大于Survivor,那么就会进入老年代,此时老年代内存不足。

上述情况都会导致老年代Full GC。

  ④、就是“-XX:CMSInitiatingOccupancyFaction”参数,配置占空间比

2.MinorGC,采用复制算法将Eden+s0/s1无法回收的对象复制到s1/s0,清空Eden+s1/s0

3.垃圾年龄默认15岁后进入老年代

4.大对象进入老年代,可在JVM参数里配置具体大小

1.算法

根可达性算法:

该算法的基本思路
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值