Parallel Scavenge收集器:吞吐量优先
- Parallel Scavenge收集器,是年轻代中除了ParNew以外的另一款垃圾收集器,同样采用了并行回收、复制算法和”Stop The World“机制。
- 那么它和ParNew的区别?
和ParNew收集器不同,Parallel Scavenge收集器的目标是达到一个可控制的吞吐量(Throughput),它也被称为吞吐量优先的垃圾收集器。
自适应调节策略也是Parallel Scavenge与ParNew的一个重要区别。
- 高吞吐量可以高效的利用CPU时间,尽快完成程序的运算任务,(意味着暂停时间可能长一些)主要适合那些在后台计算而不需要交互的任务。因此,常见在服务器环境中使用。例如,那些执行批处理、订单处理、工资支付、科学计算的应用程序。
- Parallel收集器在JDK1.6(2005年6月发布)时提供了用于执行老年代垃圾收集器的Parallel Old收集器,来代替Serial Old收集器。
- Parallel Old收集器采用了标记-压缩算法,但同样也是基于并行回收和”Stop-The-World“机制。
- 在程序吞吐量优先的应用场景下,Parallel收集器和Parallel Old收集器的组合,在Server模式下的内存回收性能很不错。
- 在Java8(2014年3月18日发布)中,默认是这个垃圾回收器。
参数配置:
- -XX:+UseAdaptiveSizePolicy 设置Parallel Scavenge收集器具有自适应调节策略。
在这种模式下,年轻代的大小、Eden和Survivor的比例、晋升老年代的对象年龄等参数会被自动调整,已达到在堆大小、吞吐量和停顿时间之间的平衡点。
在手动调优比较困难的场合,可以直接使用这种自适应的方式,仅指定虚拟机的最大堆、目标的吞吐量(GCTimeRatio)和停顿时间(MaxGCPauseMIllis),让虚拟机自己完成调优工作。
- -XX:+UseParallelGC
- -XX:+UseParallelOldGC,这两个参数默认开启一个,另一个也会开启。
- -XX:ParallelGCThreads设置年轻代并行收集器的线程数。一般的最好与CPU数量相等,以避免过多的线程数影响垃圾回收性能。88
默认情况下,当CPU数量小于8个,ParallelGCThreads的值等于CPU数量。
当CPU数量大于8个时,线程数为3 + 【5*CPU_Count】/8]。
- -XX:MaxGCPauseMillis设置垃圾收集器最大停顿时间(即STW的时间)。单位是毫秒。
为了尽可能地把停顿时间控制在MaxGCPauseMillis以内,收集器在工作时会调整Java堆大小或者其他一些参数。
对于用户来讲,停顿时间越短体验越好。但是在服务器端,我们注重高并发,整体的吞吐量。所以服务器端适合Parallel,进行控制。
该参数谨慎使用。
- -XX:GCTimeRatio :取值范围(0,100)垃圾收集时间占总时间的比例(=1 / (N + 1))用于衡量吞吐量的大小。默认值99,也就是垃圾回收时间不超过1%。
MaxGCPauseMIllis越大,这个比例就越高。
Parallel Scavenge收集器:吞吐量优先相关推荐
- Jvm垃圾收集器总结之 Parallel Scavenge 收集器
Parallel Scavenge 收集器是个新生代收集器.它也是使用复制算法的收集器,又是并行的多线程收集器....看上去和ParNew 都一样,那它有什么特别之处呢? Parallel Scave ...
- 【Android 内存优化】垃圾回收算法 ( 分代收集算法 | Serial 收集器 | ParNew 收集器 | Parallel Scavenge 收集器 | CMS 并发标记清除收集器 )
文章目录 一. 分代收集算法 二. 垃圾回收器 / 收集器 ( GC ) 三. 串行收集器 ( Serial ) 四. ParNew 收集器 五. Parallel Scavenge 收集器 六. C ...
- Parallel Old收集器
Parallel Old收集器是Parallel Scavenge收集器的老年代版本,使用多线程和"标记-整理算法"进行垃圾回收. 吞吐量优先
- 深入理解Java虚拟机——Parallel Old收集器
目录 一.Parallel Old收集器的概述 二.Parallel Old收集器运行示意图 一.Parallel Old收集器的概述 Parallel Old收集器是Parallel Scaveng ...
- 【jvm我能讲两小时056】说说Parallel old收集器的特点以及使用场景?
说说Parallel old收集器的特点以及使用场景? Parallel Old是Parallel Scavenge收集器的老年代版本, 支持多线程并发收集, 基于标记-整理算法实现 . 这个收集器 ...
- 我的读书笔记——Paralled Scavenge 收集器
我的读书笔记 Parallel Scavenge 收集器 Paralled Scavenge 收集器是一个新生代收集器,他也是使用复制算法的收集器,又是使用并行的多线程收集器.这个收集器的特点是他 ...
- 27.垃圾收集器(Serial收集器、ParNew收集器、Parallel收集器、Parallel Old 收集器、CMS收集器、G1收集器、常用的收集器组合)
27.垃圾收集器 27.1.Serial收集器 27.2.ParNew收集器 27.3.Parallel收集器 27.4.Parallel Old 收集器 27.5.CMS收集器 27.6.G1收集器 ...
- Serial Old收集器和Parallel Old收集器
Serial Old收集器 Serial Old是 Serial收集器的老年代版本: 1.特点 针对老年代: 采用"标记-整理"算法(还有压缩,Mark-Sweep-Compact ...
- ZGC、G1与Parallel Scavenge吞吐量及停顿时间对比
前言 关于各GC间对比的官网描述 翻译: Parallel GC 只能作为一个整体来压缩和回收老年代的空间.G1 逐渐将这项工作分布到多个更短的集合中.这会以潜在的吞吐量为代价大大缩短暂停时间. G1 ...
最新文章
- HtmlAgilityPack 总结(一)
- fatal error C1189: #error : Building MFC application with /MD[d]
- 我治大学生抄作业毛病的办法——兼答丁又专老师
- VTK修炼之道17:图像基本操作_图像信息的访问与修改(vtkImageData)
- Visual Studio Code环境变量配置
- Java性能监控:您应该了解的5个开源工具
- [渝粤教育] 西南科技大学 经济数学2 在线考试复习资料
- 重构 改善既有代码的设计:代码的坏
- 转:设置Eclipse中的tab键为4个空格的完整方法
- git多项目管理模式_Git十年,一项开放商业模式倡议以及更多新闻
- bagging boosting 随机森林 GBDT对比
- mysql ulimit_Ubuntu 16.04 装机后如何永久更改ulimit和修改MySQL的存储路径datadir
- BIOS中未启用虚拟化支持系列~~例如:因此无法安装Hyper-V
- 【Linux 应用编程】进程管理 - 进程、线程和程序
- 个别计价法、先进先出法、加权平均法、移动加权平均法解读
- 一款可自定义自动字典生成器---火花
- Word文档换台电脑打开后字体、排版等会发生变化的原因及解决方案!
- teamviewer14 去商用途提示
- 三十五 我在软件园的那些日子里
- 欧冠 欧洲杯免费直播平台