JVM Dump方法以及内存泄漏分析方法

一、自动生成Dump(JMX的MBean)

JVM启动参数配置:

-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/home/app/dumps/

二、手动生成Dump

jmap -dump:format=b,file=../dump/testdump0329.hprof 9018

三、内存泄漏分析

1、查看大对象,并梳理调用关系(VisualVM、JProfile、MAT)

2、查看

崩溃前垃圾回收的时间越来越长

四、性能调优

1、线程池:

2、连接池:程序逻辑算法优化(95%的场景通过此方法解决)

3、JVM启动参数:调整各代内存比率和垃圾回收算法、提高吞吐

a、GC时间足够小

b、GC次数足够少

c、FullGC频率足够低

a和b有一定冲突,一般为避免最大最小之间收缩产品额外gc,最大最小设置相同,yong与old比率1:2,NewRadio调整比率,为防止年轻代堆收缩,-XX:newSize -XX:MaxNewSize一样大小,

更大年轻代,更小老年代,大的年轻代会延长普通GC周期,但会增加每次GC的时间;小的年老代会导致更频繁的FullGC;

更小的年轻,更大老年代,小的年轻代会导致普通GC频繁,每次GC时间短,大的年老代减少FullGC频率;

如何选择应该依赖应用程序对象生命周期的分布情况:如果应用存在

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值