gc的参数


串行收集器

并行收集器

CMS收集器



eden s0 s1  tenured

        from to

绝大多数都是在  eden区  但也有 栈区 和 old区

s0 和 s1 大小相等 功能上也是对称的,复制算法


串行收集器

最古老 ,最稳定

效率高

但是可能会较长时间停顿 因为 只使用一个线程回收

-XX:UseSerialGC

   -- 新生代、老年代使用串行回收

   -- 新生代 复制算法

   -- 老年代 标记-压缩 (往一端移动)



并行收集器

ParNew  新生代的并行收集器

     - XX:+UseParNewGC

               新生代并行

               老年代并行

ParNew收集器其实就是Serial收集器的多线程版本。新生代并行,老年代串行;新生代复制算法、老年代标记-压缩

参数控制:-XX:+UseParNewGC  ParNew收集器

-XX:ParallelGCThreads 限制线程数量

      多线程 ,需要多核支持

      -XX:ParallelGCThreads 指定线程回收数量




Parallel收集器

Parallel Scavenge收集器类似ParNew收集器,Parallel收集器更关注系统的吞吐量。可以通过参数来打开自适应调节策略,虚拟机会根据当前系统的运行情况收集性能监控信息,动态调整这些参数以提供最合适的停顿时间或最大的吞吐量;也可以通过参数控制GC的时间不大于多少毫秒或者比例;新生代复制算法、老年代标记-压缩

参数控制:-XX:+UseParallelGC  使用Parallel收集器+ 老年代串行

         

Parallel Old 收集器

Parallel Old是Parallel Scavenge收集器的老年代版本,使用多线程和“标记-整理”算法。这个收集器是在JDK 1.6中才开始提供

参数控制: -XX:+UseParallelOldGC 使用Parallel收集器+ 老年代并行




对于并行的 参数 

调试这两个参数,只能选一个


-----------------------------

CMS concurrent Mark Sweep 并发标记清除





猜你喜欢

转载自blog.csdn.net/u010325193/article/details/80574897