使用 JConsole 简单排查死锁线程

最近在工作中遇到了 HTTP 请求长时间未响应的情况,初步判断是代码问题导致产生死锁,遂简单学习了下 JDK 中自带的 JConsole 工具。 以 Windows 为例,工具存放在 JDK 目录下的 bin/jconsole.exe,双击运行即可。

使用步骤:

  1. 新建连接,选择本地或远程的应用进程,并连接。
  2. 切换至线程选项卡。
  3. 点击左下方的「检测死锁」按钮。如果存在死锁进程,会展示对应的线程信息,同时展示线程死锁相关的堆栈信息,排查堆栈信息即可找到问题根源。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计