1、概述:
对于JVM的垃圾回收器影响因素较多,例如:IO、临时变量、常驻对象、对象大小、CPU等各种软硬件配置,需要满足的场景也存在差异,例如:吞吐量量优先、响应耗时优先,以及2者的平衡;所以以下是从促销各个系统之前调优历程的一些总结,作为后续的参考方向。由于虚拟机比较多,以下描述主要是基于Hotspot。
2、背景描述:
促销主要核心系统之前部分接口存在耗时较大,经常触发到报警阈值,进行了一系列调参;
主要参考指标:接口耗时、YGC耗时、YGC次数、FGC耗时、FGC频繁程度(次数);
促销核心系统JVM垃圾回收器选择经历了这么几个阶段:
ParNew + CMS----->G1----->ParNew + CMS----->PS(当前线上)
3、对于ParNew + CMS:
ParNew :
1、是Serial收集器的多线程版本,也使用复制算法
2、垃圾收集过程中同样也要暂停所有其他的工作线程(缺点)
3、默认开启和CPU数目相同的线程数
4、在Server模式下新生代的默认垃圾收集器
CMS:
特点:
1、是一种年老代垃圾收集器
2、最主要目标是获取最短垃圾回收停顿时间
3、是Sun H