• 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收集器:吞吐量优先相关推荐

  1. Jvm垃圾收集器总结之 Parallel Scavenge 收集器

    Parallel Scavenge 收集器是个新生代收集器.它也是使用复制算法的收集器,又是并行的多线程收集器....看上去和ParNew 都一样,那它有什么特别之处呢? Parallel Scave ...

  2. 【Android 内存优化】垃圾回收算法 ( 分代收集算法 | Serial 收集器 | ParNew 收集器 | Parallel Scavenge 收集器 | CMS 并发标记清除收集器 )

    文章目录 一. 分代收集算法 二. 垃圾回收器 / 收集器 ( GC ) 三. 串行收集器 ( Serial ) 四. ParNew 收集器 五. Parallel Scavenge 收集器 六. C ...

  3. Parallel Old收集器

    Parallel Old收集器是Parallel Scavenge收集器的老年代版本,使用多线程和"标记-整理算法"进行垃圾回收. 吞吐量优先

  4. 深入理解Java虚拟机——Parallel Old收集器

    目录 一.Parallel Old收集器的概述 二.Parallel Old收集器运行示意图 一.Parallel Old收集器的概述 Parallel Old收集器是Parallel Scaveng ...

  5. 【jvm我能讲两小时056】说说Parallel old收集器的特点以及使用场景?

    说说Parallel old收集器的特点以及使用场景? Parallel Old是Parallel Scavenge收集器的老年代版本, 支持多线程并发收集, 基于标记-整理算法实现 . 这个收集器 ...

  6. 我的读书笔记——Paralled Scavenge 收集器

    我的读书笔记 Parallel Scavenge 收集器 ​ Paralled Scavenge 收集器是一个新生代收集器,他也是使用复制算法的收集器,又是使用并行的多线程收集器.这个收集器的特点是他 ...

  7. 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收集器 ...

  8. Serial Old收集器和Parallel Old收集器

    Serial Old收集器 Serial Old是 Serial收集器的老年代版本: 1.特点 针对老年代: 采用"标记-整理"算法(还有压缩,Mark-Sweep-Compact ...

  9. ZGC、G1与Parallel Scavenge吞吐量及停顿时间对比

    前言 关于各GC间对比的官网描述 翻译: Parallel GC 只能作为一个整体来压缩和回收老年代的空间.G1 逐渐将这项工作分布到多个更短的集合中.这会以潜在的吞吐量为代价大大缩短暂停时间. G1 ...

最新文章

  1. HtmlAgilityPack 总结(一)
  2. fatal error C1189: #error : Building MFC application with /MD[d]
  3. 我治大学生抄作业毛病的办法——兼答丁又专老师
  4. VTK修炼之道17:图像基本操作_图像信息的访问与修改(vtkImageData)
  5. Visual Studio Code环境变量配置
  6. Java性能监控:您应该了解的5个开源工具
  7. [渝粤教育] 西南科技大学 经济数学2 在线考试复习资料
  8. 重构 改善既有代码的设计:代码的坏
  9. 转:设置Eclipse中的tab键为4个空格的完整方法
  10. git多项目管理模式_Git十年,一项开放商业模式倡议以及更多新闻
  11. bagging boosting 随机森林 GBDT对比
  12. mysql ulimit_Ubuntu 16.04 装机后如何永久更改ulimit和修改MySQL的存储路径datadir
  13. BIOS中未启用虚拟化支持系列~~例如:因此无法安装Hyper-V
  14. 【Linux 应用编程】进程管理 - 进程、线程和程序
  15. 个别计价法、先进先出法、加权平均法、移动加权平均法解读
  16. 一款可自定义自动字典生成器---火花
  17. Word文档换台电脑打开后字体、排版等会发生变化的原因及解决方案!
  18. teamviewer14 去商用途提示
  19. 三十五 我在软件园的那些日子里
  20. 欧冠 欧洲杯免费直播平台

热门文章

  1. 什么是上升沿和下降沿?
  2. Android黄油刀ButterKnife配置
  3. iOS-强制横屏大总结
  4. go time.Parse的一些小知识
  5. 【Unity】在Unity下使用websocket的一些经验
  6. 【Python】Python端口占用测试(检测Socket)
  7. Lucene-4.8.1+paoding-analysis菜鸟试验:中文索引和查询
  8. ORB 特征点检测匹配算法
  9. Unity2D学习笔记Day16:2D光效
  10. vm虚拟机win10无法复制文件_win10虚拟机拷贝文件