打折购物就上打折屋,打折屋Dazhewu.com带你来嗨,领券再买,更省钱,半价抢先购!

JVM FULL GC 问题怎么排查?

Java 扩产网 251℃ 0评论

最近生产环境机器突然频繁报JVM FULL GC,平均每分钟几次到十几次,对于我一个Java菜鸟来说,排查这个问题简直就是难于登天,没办法,只能查资料一步一步排查。

第一步:先看下CPU和内存使用率,执行top命令,发现CPU和内存使用率并不高

CPU和内存使用情况

第二步:既然CPU和内存使用率不高,那么我猜测应该是最近一次发布引起的,发布的功能是另一个应用消费kafka消息,然后通过这个应用写数据,应该是消费写入太频繁导致的,当然这只是猜测。。。最终排除了这个原因。

执行命令:ps aux | grep java 找到应用进程

在执行:jstat -gcutil 1 1000 

继续执行:jmap -F -dump:format=b,file=heapDump 1

dump文件下载下来用mat分析也没发现什么问题。

问题还没找到,继续排查

第三步:用jmap分析

执行:jmap -heap 1

最后发现应该是Eden Space分配太小导致,原来只有4MB,但是同集群的jvm配置应该一样,为啥只有这一个应用会频繁报full gc的错误。。。

最后把问题反馈给运维部门,他们调整了jvm参数问题解决了。

转载请注明:扩产网 » JVM FULL GC 问题怎么排查?

喜欢 (12)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址