通过运行programm或Java转储获取死锁检测

Fra*_*fka 3 java deadlock jvm memory-dump dump

我有一块正在运行的java软件被卡住了.我想在里面看到一个视图,但不知道该怎么做.

是否有一些工具可以给出一个PID,它会告诉我每个线程当前位于何处以及可能还有一些变量值?我正在运行linux.

我或多或少知道导致问题的原因,但仍有一些可能的情况,因此确定它会很好.

我无法重现错误,因为它每隔几天才会出现,并且在调试时从未出现过,所以这是了解敌人的独特变化.

有任何想法吗?

szh*_*hem 10

实际上你可以尝试使用visualvm +它的线程监控插件.您还可以进行线程转储,查看线程堆栈跟踪其状态.您还可以使用jconsole来检测死锁.这两个工具都是JDK的一部分.JConsole的

以下是使用visualvm进行线程分析的更多信息.