亿级流量系列——JVM调优原理深度剖析、服务线上优化实践( 三 )


1) -XX:NewRetio = 4
亿级流量系列——JVM调优原理深度剖析、服务线上优化实践文章插图
年轻代分配的内存大小变小了 , 这样YGC次数变多了 , 虽然fullgc不发生了 , 但是YGC花费的时间更多了!
2) -XX:NewRetio = 2 YGC发生的次数必然会减少;因为eden区域的大小变大了 , 因此YGC就会变少;
亿级流量系列——JVM调优原理深度剖析、服务线上优化实践文章插图
5.4 Eden&S0S1为了进一步减少YGC, 可以设置 enden ,s 区域的比值大小; 设置方式: -XX:SurvivorRatio=8
1) 设置比值:8:1:1
亿级流量系列——JVM调优原理深度剖析、服务线上优化实践文章插图
2) Xmn2g 8:1:1
nohup java -Xmx3550m -Xms3550m -Xmn2g -XX:SurvivorRatio=8 -Xss256k -XX:MetaspaceSize=256m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:gc.log -jar jshop-web-1.0-SNAPSHOT.jar --spring.addition-location=application.yaml > jshop.log 2>&1 $&
根据gc调优 , 垃圾回收次数 , 时间 , 吞吐量都是一个比较优的一个配置;
亿级流量系列——JVM调优原理深度剖析、服务线上优化实践文章插图
5.5 吞吐量优先使用并行的垃圾回收器 , 可以充分利用多核心cpu来帮助进行垃圾回收;这样的gc方式 , 就叫做吞吐量优先的调优方式
垃圾回收器组合: ps(parallel scavenge) + po (parallel old) 此垃圾回收器是Jdk1.8 默认的垃圾回收器组合;
nohup java -Xmx3550m -Xms3550m -Xmn2g -XX:SurvivorRatio=8 -Xss256k -XX:+UseParallelGC -XX:UseParallelOldGC -XX:MetaspaceSize=256m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:gc.log -jar jshop-web-1.0-SNAPSHOT.jar --spring.addition-location=application.yaml > jshop.log 2>&1 $&
5.6 响应时间优先使用cms垃圾回收器 , 就是一个响应时间优先的组合; cms垃圾回收器(垃圾回收和业务线程交叉执行 , 不会让业务线程进行停顿stw)尽可能地减少stw的时间 , 因此使用cms垃圾回收器组合 , 是响应时间优先组合
nohup java -Xmx3550m -Xms3550m -Xmn2g -XX:SurvivorRatio=8 -Xss256k -XX:+UseParNewGC -XX:UseConcMarkSweepGC -XX:MetaspaceSize=256m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:gc.log -jar jshop-web-1.0-SNAPSHOT.jar --spring.addition-location=application.yaml > jshop.log 2>&1 $&
可以发现 , cms垃圾回收器时间变长;
5.7 g1配置方式如下所示:
nohup java -Xmx3550m -Xms3550m -Xmn2g -XX:SurvivorRatio=8 -Xss256k -XX:+UseG1GC -XX:MetaspaceSize=256m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:gc.log -jar jshop-web-1.0-SNAPSHOT.jar --spring.addition-location=application.yaml > jshop.log 2>&1 $&
亿级流量系列——JVM调优原理深度剖析、服务线上优化实践文章插图
作者:树下搜狐链接:来源:掘金著作权归作者所有 。 商业转载请联系作者获得授权 , 非商业转载请注明出处 。