你知道一些好的线程转储分析工具吗?完美将是:
编辑:
修改 我的选择是:武士。它具有我需要的所有功能:加载日志文件,并比较几个线程转储。分析它并指出:
我会回答问题,因为TDA是最好的答案。
答案 0 :(得分:6)
您可以使用TDA - Thread Dump Analyzer,一个Visual VM插件。
Visual VM也是免费的。我认为这是你最好的选择。
如果您使用的是Linux,则可以使用kill -3来获取线程转储 使用Thread Dump Analyzer查找死锁。
VisualVM现在作为JDK的一部分提供,可以用作监视器内存 用法,线程,还包括一个分析器。
jmap可用于从Java获取堆直方图和堆转储 流程。然后,您可以使用Eclipse Memory Analyzer之类的工具 调查一下。
正如另一个提到的答案,你可以看看JMX和JConsole。对于 我们的应用程序中的每个服务都有一个MBean,因此我们可以查看密钥 队列大小等统计信息,用于检查是否有任何内容 普通。
来自ServerFault上的Tools and tips for Sun JVM troubleshooting。
答案 1 :(得分:3)
如果您使用IBM JRE,则应使用 IBM Thread and Monitor Dump Analyzer for Java ,它可以提供您所需要的功能(离线使用,比较等)。
答案 2 :(得分:0)
您可以尝试我的Dump Analyzer。我有同样的需求并开发了我自己的转储分析仪。它具有您列表的一些功能。