java fgc时间过长_性能案例分析 | 一个频繁fgc问题

本文详细介绍了如何分析和解决一个Java应用程序频繁Full GC导致接口响应时间延长的问题。通过监控和heapdump分析,发现由于Dubbo参数校验不通过产生了大量无法GC的对象,建议避免使用Dubbo的参数校验,转而采用本地存根(stub)进行调优。
摘要由CSDN通过智能技术生成

今天分享一个频繁fgc的问题,现象是接口响应时间太长了,达到了好几秒,远远高于预期的1秒。

01.监控

xshell连接到应用服务器,服务器负载高,且cpu使用率也偏高

3a64cc56e15fc40d45c80fd97441a7e1.png

使用jstat看了下gc的情况,fgc很频繁,老年代满了(下图的O列)

68c1398279583d1edf032dc8d06e0d9b.png

打开JvisualVM,双击对应的应用进程,然后进入Monitor,可以看到堆内存GC频繁。然后进入Visual GC查看,发现堆内存Full GC非常频繁

99862c38871d422272bf33e01e4f1543.png

根据下面gc日志,FullGC Old区回收的内存很少

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值