Huathy-雨落江南,浮生若梦 2022-07-29 11:18 采纳率: 100%
浏览 19
已结题

Java进程假死,有点迷茫,有没有大靓仔分析分析,或给点建议!

问题遇到的现象和发生背景

Java程序老是跑着跑着假死了,但是重启之后又可以运行。参考网上的排查教程,我获取到了JVM的相关信息。但是好像看不大明白。有没有大靓仔,小姐姐。帮帮忙,看看这个是不是由于JVM导致的,还是其他的情况!

我的解答思路和尝试过的方法 -- 排查过程

参考文章https://blog.csdn.net/liaomingwu/article/details/125160302第二点:造成假死的可能原因

  1. java线程出现死锁,或所有线程被阻塞;(我没有看到线程全部阻塞)

    img

  2. 数据库连接池中的连接耗尽,导致获取数据库连接时永久等待;mybatis超时时间是默认的。
  3. 出现了内存泄漏导致了OutOfMemory,内存空间不足导致分配内存空间持续失败;服务器的可用内存足够,但是分配给jvm的内存被耗尽的情况,容易出现这种情况;(内存好像也足够,不过老年代占比好像有90%多)。

    img

  4. 服务程序运行过程中替换了jar包,但是没有进行重启服务,这属于不按规则操作引起的问题;(没有操作)
  5. 磁盘空间满,导致需要写数据的地方全部失败;(磁盘充足)
  6. 线程池满,无法分配更多的线程来处理请求,通常是因为线程被大量阻塞在某个请求上;
  • 写回答

1条回答 默认 最新

  • Tomshidi 2022-07-29 11:39
    关注

    首先,假死是指某个功能无法使用还是整个系统的功能都无法使用?
    如果确认是所有系统都假死,那需要确认该java服务的cpu占用,以及堆内内存占用比例。如果这两个比例高,那基本可以确定是内存无法被FGC导致的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月16日
  • 已采纳回答 4月16日
  • 创建了问题 7月29日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效