【性能参数】JVM GC时候核心参数

本文详细解析了JVM垃圾收集时的关键参数,包括NewRatio(年老代与新生代的比例)、SurvivorRatio(新生代中Eden区与Survivor区的比例),以及NewSize和MaxNewSize(新生代的初始和最大大小)。正确配置这些参数有助于优化JVM内存使用,减少垃圾收集的频率和提升应用性能。

一、参数

1、-XX:NewRatio

2、–XX:SurvivorRatio

3、–XX:NewSize

4、–XX:MaxNewSize

二、解释

        1、-XX:NewRatio 是年老代 新生代相对的比例,比如NewRatio=2,表明年老代是新生代的2倍。老年代占了heap的2/3,新生代占了1/3

        2、-XX:SurvivorRatio 配置的是在新生代里面Eden和一个Servive的比例

-XX:SurvivorRatio新生代里面Eden和一个Servive的比例,如果SurvivorRatio是5的话,也就是Eden区域是SurviveTo区域的5倍。Survive由From和To构成。结果就是整个Eden占用了新生代5/7,From和To分别占用了1/7,如果分配不合理,Eden太大,这样产生对象很顺利,但是进行GC有一部分对象幸存下来,拷贝到To,空间小,就没有足够的空间,对象会被放在old Generation中。如果Survive空间大,会有足够的空间容纳GC后存活的对象,但是Eden区域小,会被很快消耗完,这就增加了GC的次数。

        3、-XX:NewSize –XX:MaxNewSize指定新生代初始大小和最大大小。

-XX:NewSize –XX:MaxNewSize理论越大越好,但是整个Heap大小是有限的,一般年轻代的设置大小不要超过年老代。

        如果指定NewRatio还可以指定NewSizeMaxNewSize,如果同时指定了会如何?

NewRatio=2,这个时候新生代会尝试分配整个Heap大小的1/3的大小,但是分配的空间不会小于-XX:NewSize也不会大于 –XX:MaxNewSize

        实际设置比例还是设置固定大小,固定大小理论上速度更高。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值