最近在工作中遇到了 HTTP 请求长时间未响应的情况,初步判断是代码问题导致产生死锁,遂简单学习了下 JDK 中自带的 JConsole 工具。 以 Windows 为例,工具存放在 JDK 目录下的 bin/jconsole.exe,双击运行即可。
使用步骤:
- 新建连接,选择本地或远程的应用进程,并连接。
- 切换至线程选项卡。
- 点击左下方的「检测死锁」按钮。如果存在死锁进程,会展示对应的线程信息,同时展示线程死锁相关的堆栈信息,排查堆栈信息即可找到问题根源。
最近在工作中遇到了 HTTP 请求长时间未响应的情况,初步判断是代码问题导致产生死锁,遂简单学习了下 JDK 中自带的 JConsole 工具。 以 Windows 为例,工具存放在 JDK 目录下的 bin/jconsole.exe,双击运行即可。
使用步骤: