`
blueswind8306
  • 浏览: 124559 次
  • 来自: ...
社区版块
存档分类
最新评论

java进程hang住的case

阅读更多
记录一个linux内核bug导致的jvm hang住的问题:

最近厂内新上了一批机器,发现在这批机器上有java进程hang住的问题出现,发生问题时jvm会一直卡在minorGC阶段,Eden区一直保持100%并且进程僵尸(有同学反映其它机器也有Survivor一直100% hang住的情况):


进程hang住后,无法用jstack dump栈信息,执行jstack -F后进程恢复服务,minorGC结束。可以看到整个hang住的过程持续了六万多秒:


jstack -F dump出来的栈信息所有应用线程都处于BLOCKED状态,没有死锁。当时其实应该用jstack -F -m命令将native线程的栈也dump出来才方便定位jvm层面的问题,jstack -F只能dump出java线程的栈。

开始怀疑是hotspot jvm的bug,在Oracle官网找了很久没有找到类似情况。

后来京东的一位同学说这种情况可能是centos内核bug导致,并且发给了我这篇文章:
Red Hat Linux严重Bug将影响基于Haswell架构的服务器

文章原始出处来自于Azul的CTO发表的文章:
https://groups.google.com/forum/#!topic/mechanical-sympathy/QbmpZxp6C64

文章中也提到了受到影响的linux版本:


我们的版本确实属于以上的版本,所以解决方法就是打了个升级patch,将内核升级。升级后服务没有再发生以上问题。
  • 大小: 308.4 KB
  • 大小: 18.6 KB
  • 大小: 109.3 KB
1
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics