zoukankan      html  css  js  c++  java
  • 了解java虚拟机—并行回收器(7)

    并行回收器

    新生代ParNew回收器

    ParNew只是简单地将串行回收器多线程化,他的回收策略,算法以及参数都喝新生代串行回收器一样。由于并行回收器使用多线程进行垃圾回收,因此,在并发能力强的CPU上,它产生的停顿时间要短语串行回收器。

    开启ParNew可以使用以下参数。

    -XX:+UseParNewGC  新生代使用ParNew回收器,老年代使用串行回收器。

    -XX:+UseConcMarkSweepGC:新生代使用ParNew回收器,老年代使用CMS。

    ParNew回收器工作时的线程数量可以使用-XX:ParallelGCThreads参数指定。一般最好与CPU数量相当,避免过多的线程数,影响垃圾收集性能。

    图片.png

    新生代ParallelGC回收器

    新生代ParallelGC回收器也是采用复制算法的收集器。与ParNew回收器不同的是它非常关注系统的吞吐量。

    开启ParallelGC可以使用以下参数

    -XX:+UseParallelGC:新生代使用ParallelGC回收器,老年代使用串行回收器。

    -XX:+UseParallelOldGC:新生代与老年代都使用ParallelGC。

    ParalleGC提供了两个重要的参数用于控制系统的吞吐量。

    -XX:MaxGCPauseMillis:设置最大垃圾收集的停顿时间。

    -XX:GCTimeRatio:设置吞吐量大小,它的值是0-100间的证书,假设GCTimeRtio的值为N,那么系统将话费不超过1/(1+n_的时间用于垃圾收集。

    -XX:+UseAdaptiveSizePolicy可以打开自适应GC策略这种模式下新生代大小,eden和survivior比例,晋升老年代对象年龄等参数会被自动调整,以达到堆大小、吞吐量和停顿时间之间的平衡点。

    老年代ParallelOldGC回收器

    老年代ParallelOldGC采用标记压缩算法,它在JDK1.6中才可以使用。

    它可以使用-XX:ParallelGCThreads         设置垃圾回收时的线程数。

  • 相关阅读:
    static变量的生命周期
    关于C++的new是否会对内存初始化的问题
    行列式的本质是什么?
    C++本质:类的赋值运算符=的重载,以及深拷贝和浅拷贝
    C++拷贝(复制)构造函数详解
    随机生成指定长度字符字符串(C语言实现)
    【npm】npm install的报错
    【HTTP】http请求url参数包含+号,被解析为空格
    【ngx-ueditor】百度编辑器按下Shift键不触发contentChange事件
    【Angular】No component factory found for ×××.
  • 原文地址:https://www.cnblogs.com/hanlinhu/p/9717115.html
Copyright © 2011-2022 走看看