JVM调优案例-NewRatio使用

记一次线上生产JVM调优过程。

一. 线上问题,no BB,看图

应用堆内存使用情况如下图:

 

应用youngGC如下图:

这里没有给出fullGC的图片,基本上每一小时一次fullGC。

正常应用堆内存使用情况如下

正常应用youngGC情况

 

二. 分析

正常应用youngGC比较频繁,每次时间短;有问题应用youngGC次数少,每次GC时间长;且fullGC均能回收系统内存;

怀疑新生代和老年代的比例或新生代eden和Survivor比例不合理导致。可以使用-XX:NewRatio和 -XX:SurvivorRatio调整

-XX:NewRatio=2   :新生代和年老代的堆内存占用比例, 例如2表示新生代占年老代的1/2,占整个堆内存的1/3
-XX:SurvivorRatio=8: Eden与Survivor的占用比例。例如8表示,一个survivor区占用 1/8 的Eden内存,即1/10的新生代内存,为什么不是1/9?因为我们的新生代有2个survivor,即S0和S1。所以survivor总共是占用新生代内存的 2/10,Eden与新生代的占比则为 8/10

三. 结论

经过多次测试,设置-XX:NewRatio=4 应用内存得到改善,默认是-XX:NewRatio=2,堆内存使用如下图,调整后堆内存使用在1G以下。

欢迎探讨!

参考

https://www.cnblogs.com/langtianya/p/3898760.html

https://blog.csdn.net/sunny243788557/article/details/52796904

https://www.jianshu.com/p/8d8aef212b25

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值