求助>线上java进程无故hang住,jstacke和jmap都无法执行>
4回复
2月前

线上java进程无故hang住,jstacke和jmap都无法执行



最近生产环境一个java进程经常出现hang死的情况,目前掌握到的信息如下,请各位大佬指点指点如何排查?
1、服务器内存120G,JVM堆配置了12G(服务器下有多个java进程)
2、free -h 查看,mem中free只剩下0或者几百M,其余都在buffer/cache中,buffer/cache中free还有50G以上
3、hang死的进程无法执行jmap jstack命令,加-F也执行不了
4、进程在,但无日志输出或响应
5、通过GC日志发现[CMS-concurrent-mark: 6.285/6.439 secs] [Times: user=41.91 sys=0.23, real=6.44 secs] 有几次甚至超过60s
6、在出现问题的这几天时间上看,CPU/内存均较以往有升高(平时平稳在20%使用率,在出问题这几天涨到40%以上)
7、sar查看发现出问题服务器在凌晨时间段的IO很高
image.png

772 阅读
请先登录,再评论

回复列表

https://a.perfma.net/img/2382850
hnwyllmm1月前

还可以试一下jfr 搞一下火焰图

https://a.perfma.net/img/2382850
ferdi2月前

jmap和jstack执行不了的具体异常是什么,是hang住,还是会报错?hang住的时刻cpu的使用率情况怎么样? free命令看到大量在buffer/cache理论上是正常的,不影响。尝试使用HSDB attach下目标进程,看是否可以

1
rock042月前
回复 ferdi:

执行不了表现为hang住了。没有报错。客户生产环境无法直接加插件

回复
ferdi2月前
回复 ferdi:

可以使用XPocket的hsdb插件尝试下 https://plugin.xpocket.perfma.com/plugin/54

回复