首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JVM 之 ParNew 和 CMS 日志分析

今天这篇文章主要是对生产环境中(Java7)常用的两种垃圾收集器(ParNew:年轻代,CMS:老年代)从日志信息上进行分析,做一下总结,这样当我们在排查相应的问题时,看到 GC 的日志信息,不会再那么陌生...http://matt33.com/2016/09/18/jvm-basic2/ ParNew 收集器 ParNew 收集器是年轻代常用的垃圾收集器,它采用的是复制算法,youngGC 时一个典型的日志信息如下所示...: 2018-04-12T13:48:26.134+0800: 15578.050: [GC2018-04-12T13:48:26.135+0800: 15578.050: [ParNew: 3412467K...:收集器名称,这里是 ParNew 收集器,它使用的是并行的 mark-copy 算法,GC 过程也会 Stop the World; 3412467K->59681K:收集前后年轻代的使用情况,这里是...cleanup. 9702786K->6354533K:收集前后整个堆的使用情况,这里是 9.25G->6.06G; 24746432K:整个堆的容量,这里是 23.6G; 0.0974940 secs:ParNew

1.2K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    探索ParNew和CMS垃圾回收器

    今天我们就来探索一下,ParNew和CMS垃圾回收器的实现过程。 ParNew垃圾回收器 现在,如果没有使用G1垃圾回收器,通常情况下大家都是用的ParNew作为新生代的垃圾回收器。...所以ParNew垃圾回收器主打的就是多线程的垃圾回收机制,老版本的Serial垃圾回收器主打的是单线程垃圾回收,他们都是对新生代进行垃圾回收的,唯一的区别就是单线程和多线程的区别,垃圾回收的算法是一样的...那么如何指定垃圾回收器为ParNew呢? 很简单,只要使用“-XX:+UseParNewGC”选项,只要加入这个选项,JVM启动之后对新生代的垃圾回收就是使用的ParNew垃圾回收器了。...默认情况下,如果指定为ParNew垃圾回收器,它会给自己设置与CPU核心数相同的垃圾回收线程。...总结 今天我们对ParNew做了一个简单的介绍,其实就是并发机制。同时比较详细的介绍了CMS垃圾回收器的运行过程。 相信小伙伴们能够对它们有一个深刻的印象,那么新一代的G1垃圾回收器又是什么机制呢?

    1K20

    CMS、G1、ParNew、Serial、Parallel 原理是什么?

    和 回收策略 等,因此常称 ParNew GC 为 Serial GC 的多线程版本。...不过 ParNew GC 属于新生代回收器,只能对新生代中的对象进行回收。...小豆丁技术栈 ◆ 优点: ① 支持并行回收: ParNew GC 支持多线程并行进行回收,可以利用多核 CPU 的优势,提高垃圾回收的效率; ② 回收效率高且停顿时间短: ParNew GC 是一个专门用于回收年轻代的垃圾垃圾回收器...,所以比较浪费内存空间; ② 老年代垃圾回收效率低: 由于 ParNew GC 只用于年轻代垃圾回收,而不处理老年代垃圾回收,因此老年代的垃圾回收效率低下,容易导致 Full GC; ParNew 回收器常配置参数...-XX:+UseParNewGC: 启用新生代回收器 ParNew。 -XX:ParallelGCThreads: 配置 GC 的线程数量,通常推荐该值和 CPU 核心数量保持一致。

    10510

    【Java 虚拟机原理】垃圾收集器 ( Serial | ParNew | Parallel Scavenge | CMS | Serial Old - MSC | Parallel Old )

    文章目录 前言 一、HotSpot 虚拟机的垃圾收集器 二、年轻代垃圾收集器 1、 串行收集器 ( Serial ) 2、 ParNew 收集器 3、 Parallel Scavenge 收集器 二、...老年代垃圾收集器 前言 参考 【Android 内存优化】垃圾回收算法 ( 分代收集算法 | Serial 收集器 | ParNew 收集器 | Parallel Scavenge 收集器 | CMS...虚拟机的垃圾收集器 : 上层的是 年轻代 内存区域的垃圾收集器 , 下层是 老年代 内存区域的垃圾收集器 , Tenured generation 就是老年代 ; 年轻代的垃圾回收器 : Serial ParNew...Old ( MSC ) Parallel Old Serial 垃圾回收器 是 单线程垃圾收集器 , 垃圾回收时 , 需要暂停当前的 Java 线程 , 进行垃圾回收 , 这样会造成程序卡顿 ; ParNew...收集器 ParNew 收集器 : ① 运行区域 : ParNew 垃圾回收器 在 年轻代 内存区域中收集要回收的内存 ; ② 垃圾回收算法 : 复制算法 ; ③ 运行机制 : 垃圾回收线程运行时 ,

    1.2K10

    常用新生代垃圾收集器

    垃圾收集器 ParNew同样用于新生代,是Serial的多线程版本,并且在参数,算法(同样的复制算法)和Serial相同....Par是Parallel的缩写,多线程的意思,但是这里的多线程仅仅指垃圾收集多线程并行,并不是垃圾收集和程序并行运行.ParNew也需要暂停一切工作,然后多线程并行垃圾收集....应用场景 在Server模式下,ParNew是一个非常重要的收集器,因为除Serial外,目前只有ParNew与CMS收集器配合工作....":强制指定使用ParNew; "-XX:ParallelGCThreads":指定垃圾收集的线程数量,ParNew默认开启的收集线程与CPU的数量相同; Parallel scavenge垃圾收集器...Parallel scavenge是一个新生代垃圾收集器,它是用复制算法的垃圾收集器,又是多线程并行的垃圾收集器,和ParNew类似.吞吐量优先的垃圾收集器,是Java1.8默认的新生代垃圾收集器.

    71800

    JVM GC回收器

    新生代串行回收器 老年代串行回收器 标记压缩算法 命令 -XX:+UseSerialGC :新生代老年代都使用串行回收器 -XX:+UseParNewGC :新生代使用ParNew...-XX:+UseParallelGC :新生代使用ParallelGC回收器,老年代使用串行回收器 0x02: 并行回收器 概念 多线程进行垃圾回收的回收器 分类 (1)新生代 ParNew...回收器 只是简单的将串行回收器多线程化 -XX:+UseParNewGC :新生代使用 ParNew 并行回收器,老年代串行回收器 -XX:+UseConcMarkSweepGC...:新生代使用ParNew 并行回收器,老年代使用 CMS -XX:ParallelGCThreads :设置多线程数量,最好与 CPU 个数保持一致(CPU < 8 ),或者 3 + ((5*...cpu_count)/8) (2)新生代ParallelGC 回收器 和 ParNew 回收器差不多,不过更关注吞吐量 -XX:+UseParallelGC :新生代使用 ParallelGC

    28910

    深入浅出JVM(十五)之垃圾收集器(上篇)

    在低延迟优先的情况下尽量增大吞吐量垃圾收集器以GC线程运行状态来分类,经典的垃圾收集器分为串行、并行、并发垃圾收集器,现在还有两款低延迟垃圾收集器串行垃圾收集器: Serial 、Serial Old并行垃圾收集器: ParNew...直到它收集结束默认Client模式的收集器,适合单核CPU 不适合交互式JVM参数设置-XX:+UseSerialGC :新生代使用Serial GC 老年代使用 Serial Old GC并行垃圾收集器ParNew...收集器ParNew是Serial的并行版本,使用复制算法处理新生代(新生代)ParNew收集器 + (老年代)Serial Old收集器 运行图图片在单核情况下,Serial会比ParNew高效;在多核情况下...,ParNew吞吐量会更高年轻代使用ParNew时,老年代只能使用串行的Serial OldJVM参数设置-XX:+UseParNewGC新生代使用ParNew-XX:ParallelGCThreads...Scavenge 是吞吐量优先的并行收集器,使用复制算法处理新生代Parallel Old 使用标记-整理算法处理老年代Parallel Scavenge收集器 + Parallel Old收集器运行图与ParNew

    41661

    jvm之7种垃圾回收器解读(上)

    等价于新生代用Serial GC,且老年代用Serial Old GC ParNew回收器:并行回收 如果说Serial GC是年轻代中的单线程垃圾收集器,那么ParNew收集器则是Serial收集器的多线程版本...ParNew收集器在年轻代中同样也是采用复制算法、"Stop-the-World"机制。 ParNew 是很多JVM运行在Server模式下新生代的默认垃圾收集器。...(CPU并行需要切换线程,串行可以省去切换线程的资源) 由于ParNew收集器是基于并行回收,那么是否可以断定ParNew收集器的回收效率在任何场景下都会比serial收集器更高效?...但是在单个CPU的环境下,ParNew收集器不比Serial 收集器更高效。...除Serial外,目前只有ParNew GC能与CMS收集器配合工作 在程序中,开发人员可以通过选项"-XX:+UseParNewGC"手动指定使用ParNew收集器执行内存回收任务。

    21030
    领券