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