在VisualVM中深入研究

时间:2020-03-05 18:52:11  来源:igfitidea点击:

我刚刚安装了Java 1.6_07,因此可以尝试使用VisualVM进行性能分析。它告诉我,我的应用将其60%的时间都花在了sun.rmi.transport.tcp.TCPTransport $ ConnectionHandler.run中。

我如何知道那段时间在做什么?它在等待什么时间打电话或者做其他事情的时间是多少?叫什么,叫什么?我似乎找不到像Quantify或者Perl profiler中一样深入到更深层次的方法。

解决方案

回答

应用程序是否在TCP上使用RMI?如果不是,可能是由于检测VM导致的heisenbug?我认为VisualVM必须使用RMI调用来弄清JVM中发生了什么...。

回答

我没有使用VisualVM的经验-但是JRockit的探查器确实提供了此信息。我们可以考虑改用它。

更新:对于具有足够代表以查看已删除问题的用户,可以在此处找到带有Java分析器列表的问题。

回答

我已经开始使用新的VisualVM 1.2. 它允许对CPU进行性能分析并使用调用图向下钻取。试试看。