使用 JConsole 简单排查死锁线程
0x9C40
December 11th, 2021

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

使用步骤:

  1. 新建连接,选择本地或远程的应用进程,并连接。
  2. 切换至线程选项卡。
  3. 点击左下方的「检测死锁」按钮。如果存在死锁进程,会展示对应的线程信息,同时展示线程死锁相关的堆栈信息,排查堆栈信息即可找到问题根源。
Arweave TX
kVnlIeQ6J__s-q37YscU9tKu9luBsXtu9L9UVWGCORQ
Ethereum Address
0x9C401508CA280B709C5d5178C2d94701fdAb57A1
Content Digest
aq-R9BWQsz4RBi01fKMDIPHsz4ssXLEuykGgquWh47A