Parallel ScavengeGC收集器

Parallel Scavenge收集器


Parallel Scavenge 收集器 是一款新生代收集器 同样是标记-复制算法实现的收集器

也是可以进行并行手机的多线程收集器

Parallel Scavenge的诸多特性从表面上来看和ParNew相似

关注点:

CMS收集器主要是尽可能地缩短垃圾收集时用户线程的停顿的时间 而Parallel Scavenge收集器的目标则是达到

一个可控制的吞吐量 所谓吞吐量就是处理器用于运行 用户代码的时间

在这里插入图片描述

如果虚拟机完成某个和任务 用户代码加上垃圾收集总共耗费 100 min 垃圾收集花掉1min 那吞吐量就是99%

停顿时间越短 越适合需要与用户交互或者保证服务响应的质量的程序 良好的相应速度能提升用户体验

高吞吐量则是可以最高效率的充分利用处理资源 尽快完成程序的运算任务 主要适合在后台运算 不需要太需要交互分析任务

Parallel Scavenge 收集器提供了两个用于精准控制吞吐量
一个是控制最大垃圾收集停顿时间的-XX:MaxGCPauseMillis参数

MaxGCPauseMillis参数允许的值是一个大于0的毫秒数,收集器尽力保证内存回收花费时间不超过用户设定值

当然你不要想多了不要异想天开的认为如果把这个数的参数设置更小一点使得整个系统变得更快

1、垃圾停顿时间的缩短是以牺牲吞吐量和新生代的空间为代价换来的

2、系统把整个新生代调小的小一点 收集300M 肯定比收集500M快 这也直接导致了收集发生更频繁 原来十秒收集一次每次停顿100毫秒 现在变成5s收集一次 每次停顿70毫秒 停顿时间的确在下降 但是吞吐量也降下来了

以及直接设置吞吐量大小的-XX:GCTimeRatio参数

GCTimeRatio 参数的值则是当一个大于0小于100的整数 也就是i垃圾收集占总时间的比率相当于吞吐量的倒数

譬如 把参数设置为19 允许最大的垃圾收集时间就占总是加你的 5% 即(1/(1+19)) 默认值是99 即最大的1% 即垃圾收集时间

由于与吞吐量关系密切相关 Parallel Scavenge、 收集器还有一个参数-XX:+UseAdoptiveSizePolic值得关注

1、这是一个开关参数 当这个参数被激活之后 就不需要人工指定Yang(新生代的大小)-Xmn 、Eden(伊甸园)与Survivor(幸存区比例) 、晋升老年代对象大小 等细节参数

2、GC Ergonomics自适应策略:虚拟机会根据当前系统的运行情况收集性能监控信息 动态调整这些参数以及提供最合适的时间和最大吞吐量,这种调节方式称为垃圾收集的自适应调节策略

手动调节很难 交给虚拟机去完成是一个不错的 选择 只需要把内存数据设置好 然后使用MaxGCPauseMillis参数 胡总和吞吐量给虚拟机设立一个优化目标 具体细节参数调节工作由虚拟机来完成

s参数 胡总和吞吐量给虚拟机设立一个优化目标 具体细节参数调节工作由虚拟机来完成

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值