一文带你彻底搞懂JVM中垃圾回收相关参数介绍:GC实验参数

GC实验参数

GC选择相关参数

在GC演化过程中,GC会首先成为实验GC,一般会引入新的GC选择参数。

使用Epsilon GC进行内存管理。

准确地说,Epsilon不能称为垃圾回收器,更准确的称谓是内存管理器,它只有内存分配相关的实现,而没有对垃圾回收对象的识别和回收。这个“垃圾回收器”用于特殊的情况(如不需要进行垃圾回收),衡量垃圾回收器的基线版本数据。

引用处理相关参数

本节介绍控制引用处理的相关参数。

该参数用于控制并行引用处理的线程数目,在Java引用并行处理的情况下(ParallelRefProcEnabled为true),根据引用的数量计算并行线程的个数。该参数的默认值为1000,即每1000个引用对象增加一个线程(当然最多线程数目不能超过允许的最大值,例如ParallelGCThreads)。

GC任务均衡相关参数

本节介绍并行GC任务均衡的相关参数。

在并行任务终止时需要先执行Spin,然后执行Yield,最后再执行Sleep。

参数WorkStealingHardSpins和参数
WorkStealingSpinToYieldRatio控制Spin执行指令的最大次数(一般通过循环实现)。

参数WorkStealingHardSpins的默认值为4096,参数
WorkStealingSpinToYieldRatio的默认值为10,表示每10轮Spin之后,执行一次Yield,每一轮Spin执行的次数不超过4096(第一轮Spin执行的次数为4,第10轮Spin执行的次数为4096,按照等比数列依次从第1轮增加到第10轮)。

Yield每经过一定的次数进入Sleep,控制Yield的参数为
WorkStealingYields-BeforeSleep,参数的默认值为5000,表示要执行5000次Yield才会进入Sleep。

当进入Sleep后,一次睡眠的时间长度由参数WorkStealingSleepMillis控制,参数的默认值为1,表示每次睡眠1毫秒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值