3.深刻jvm内核-原理、诊断与优化-5. GC参数-cms垃圾收集器

  1. 串行收集器并发

  2. 并行收集器.net

    ···线程

    ···3d

  3. cms收集器code

    并发与并行blog

  4. GC参数整理内存

    -XX:+UseSerialGC:在新生代和老年代使用串行收集器
     -XX:SurvivorRatio:设置eden区大小和survivior区大小的比例
     -XX:NewRatio:新生代和老年代的比
     -XX:+UseParNewGC:在新生代使用并行收集器
     -XX:+UseParallelGC :新生代使用并行回收收集器
     -XX:+UseParallelOldGC:老年代使用并行回收收集器
     -XX:ParallelGCThreads:设置用于垃圾回收的线程数
     -XX:+UseConcMarkSweepGC:新生代使用并行收集器,老年代使用CMS+串行收集器
     -XX:ParallelCMSThreads:设定CMS的线程数量
     -XX:CMSInitiatingOccupancyFraction:设置CMS收集器在老年代空间被使用多少后触发
     -XX:+UseCMSCompactAtFullCollection:设置CMS收集器在完成垃圾收集后是否要进行一次内存碎片的整理
     -XX:CMSFullGCsBeforeCompaction:设定进行多少次CMS垃圾回收后,进行一次内存压缩
     -XX:+CMSClassUnloadingEnabled:容许对类元数据进行回收
     -XX:CMSInitiatingPermOccupancyFraction:当永久区占用率达到这一百分比时,启动CMS回收
     -XX:UseCMSInitiatingOccupancyOnly:表示只在到达阀值的时候,才进行CMS回收

  5. 总结:get

    cms相对来讲有如下特色:
     一、能保证系统的响应时间,减小垃圾收集时的停顿时间,对一些作监控的应用优其重要。
     二、Cms采用Mark-Sweep会对堆产生空间碎片,可是能够指定在通过几回垃圾回收后再作总的空间整理
     三、虽然fgc回收时间相对比并行收集器少,但总的回收次数确是多的,因此会致使系统停顿次数变多,致使吞吐量降低。
相关文章
相关标签/搜索