• 性能问题分析-线程死锁


    现象:

      (1)压测进行一段时间后,程序停顿,报超时错误。但这种现象并不一定就是线程死锁造成的,也可能是数据库/中间件连接池被占满、数据库死锁造成的。

      (2)能够打开页面,但获取不到数据

    排查手段:

      (1)使用jstack命令查看Java进程下所有线程的情况:jstack -l 进程号

      (2)如果有Blocked状态的线程,说明有线程死锁的状况。如果大量线程都是Waiting状态,则需要去关注数据库和中间件,可能会有排队情况。

      (3)也可以使用JConsole、JVisualVM及JProfiler等工具直接查看所有线程的情况

    分析实战:

    一般线程死锁会导致CPU飙高,所以可参考CPU偏高的文章去排查线程死锁(https://www.cnblogs.com/mululu/p/15078329.html)

  • 相关阅读:
    gcc相关
    test
    第二次课
    VS快捷键
    第7章 站在对象模型的尖端
    第6章 执行期语意学
    第5章 构造, 析构, 拷贝语意学
    第4章 Function语意学
    第一次课
    第3章 Data语意学
  • 原文地址:https://www.cnblogs.com/mululu/p/15079477.html
Copyright © 2020-2023  润新知