深入理解Java虚拟机——Parallel Scavenge收集器

x33g5p2x  于2022-02-14 转载在 Java  
字(0.6k)|赞(0)|评价(0)|浏览(266)

一、Parallel Scavenge收集器的概述

  • Parallel Scavenge收集器是一个新生代收集器,它也是使用复制算法的收集器,又是并行的多线程收集器。
  • 由于与吞吐量关系密切,Parallel Scavenge收集器也经常称为“吞吐量优先”收集器。
  • 自适应的调节策略也是Parallel Scavenge收集器与ParNew收集器的一个重要区别。

二、Parallel Scavenge收集器的目标

  • Parallel Scavenge收集器的目标则是达到一个可控制的吞吐量(Throughput)
  • 所谓吞吐量就是CPU用于运行用户代码的时间与CPU总消耗时间的比值,即吞吐量=运行用户代码时间/(运行用户代码时间+垃圾收集时间),例如虚拟机总共运行了100分钟,其中垃圾收集花掉1分钟,那吞吐量就是99。

三、Parallel Scavenge收集器的参数

  • -XX:MaxGCPauseMillis
    控制最大垃圾收集停顿时间,此参数允许的值是一个大于0的毫秒数。
  • -XX:GCTimeRatio
    设置吞吐量大小,此参数的值应当是一个大于0且小于100的整数,默认值为99,就是允许最大1%(1/(1+99))的垃圾收集时间。
  • -XX:UseAdaptiveSizePolicy
    这是一个开关参数,当这个参数打开后,虚拟机会根据当前系统的运行情况收集性能监控信息,动态调整这些参数以提供最合适的停顿时间或者最大的吞吐量。这种调节方式称为GC自适应的调节策略(GC Ergonomics)。

相关文章