JVM GC原理及调优的基本思路
调优原则
CMS合理地设置年轻代和老年代的大小,年轻代太小的话会导致频繁的Minor GC,年轻代太大的话会导致复制开销过大,增加YGC每次的停留时间,而年老代太小的话,会频繁地出发full GC,老年代太大的话,会降低Full GC的频率,但是单次Full GC的时间会变长。
G1收集器关心Java堆的总大小,以及请求处理响应时间
如何监控Tomcat的性能
通过JConsole监控Tomcat,首先开启JMX远程监听端口,再通过JConsole来连接这个端口
随后便可以监控 吞吐量,响应时间,错误数,线程池,CPU以及JVM内存等关键参数
通过命令行查看Tomcat指标
案例分析:对于一个web应用,下游服务的延迟越大,Tomcat所需的线程数越多,但是CPU保持稳定,使用中如果发现线程数量飙升,但是CPU却没有显著增加,则有可能是下游服务响应延迟变长。