visualvm intellij“无法创建与目标应用程序的 JMX 连接”分析不起作用

Posted

技术标签:

【中文标题】visualvm intellij“无法创建与目标应用程序的 JMX 连接”分析不起作用【英文标题】:visualvm intellij "Failed to create JMX connection to target application" profiling not working 【发布时间】:2014-02-28 00:55:25 【问题描述】:

我正在尝试使用 visualVM 来分析我正在使用 Intellij 调试的简单 Java 应用程序。我启动应用程序进行调试,打开visualVM,我可以在列表中看到我的应用程序。我可以打开它;但是,我无法为我的应用程序使用采样或分析。其他应用程序,例如 Intellij,可以很好地进行分析。当我检查 visualVM 日志时,我看到:

信息 [com.sun.tools.visualvm.jmx.impl.JmxModelImpl]:连接(2749) com.sun.tools.attach.AttachNotSupportedException:无法打开套接字文件:目标进程没有响应或未加载 HotSpot VM

更多信息: 操作系统 = 在 x86_64 上运行的 Mac OS X 版本 10.9.1 爪哇;虚拟机;供应商 = 1.7.0_51; Java HotSpot(TM) 64 位服务器 VM 24.51-b03;甲骨文公司 Intellij IDEA = 13.0.2

如果有人有这个工作,请告诉我你是怎么得到它的。如果可以的话,我也想使用 Intellij VisualVMLauncher。

【问题讨论】:

我也遇到了这个问题,到目前为止,没有一个答案能帮我解决这个问题。 这是我来自 VisualVM 的日志文件:pastey.org/view/c579846c。 @nashspence,你能从 VisualVM->About->Logfile 中获取你的日志文件吗? 【参考方案1】:

也许this helps:

java -Dcom.sun.management.jmxremote \
  -Dcom.sun.management.jmxremote.port=9010 \
  -Dcom.sun.management.jmxremote.local.only=false \
  -Dcom.sun.management.jmxremote.authenticate=false \
  -Dcom.sun.management.jmxremote.ssl=false \
  -jar xxx.jar

【讨论】:

【参考方案2】:

这看起来是JDK bug #8023786。在 JDK 7u60 中修复此问题之前,您可以使用 -XX:+StartAttachListener 运行已分析的应用程序。关于这个错误的一些细节也在this电子邮件线程中。

【讨论】:

嘿,有机会我会试试的。一直在旅行。感谢您的回复。 即使使用该标志启动我的应用程序,我仍然无法使其正常工作。每当我尝试打开应用程序进行分析时,我发现 visualvm 刚开始挂起。我打算继续调查这个问题,但如果您有任何其他建议,欢迎他们 也许它没有帮助 OP,但它帮助了我。谢谢! 这对我不起作用,但下面的Thomas' answer 起作用了。【参考方案3】:

我之前在运行独立的 visualvm 时遇到了类似的问题。相反,尝试运行与运行应用程序相同的 jdk 捆绑的 visualvm(在我的情况下为 c:\jdk1.7.0\bin\jvisualvm.exe),它可能首先不需要 jmx。

【讨论】:

这最终为您解决了这个问题?据我所知,我使用的 jvisualvm 来自运行应用程序的同一个 jdk。 我也遇到了这个问题,在我的情况下,这是由于应用程序使用 32 位 JDK 运行,但我使用的是 64 位 VisualVM。 在两种不同的情况下为我解决了这个问题。【参考方案4】:

如果它可以帮助任何人,我发现的一个解决方案是通过 VisualVM launcher plugin for IntelliJ 在 IntelliJ 中启动应用程序。它适用于 Glassfish 上的 Web 应用程序。

【讨论】:

这应该是最好的解决方案,但我从来没有启用 VisualVM 启动器按钮。

以上是关于visualvm intellij“无法创建与目标应用程序的 JMX 连接”分析不起作用的主要内容,如果未能解决你的问题,请参考以下文章

为啥 VisualVM 为 VisualVM 本身运行 50 个线程?

Java虚拟机性能管理神器 - VisualVM 入门

IDEA安装 VisualVM 及使用

[转]VisualVM 入门指南

利用VisualVM监视远程JVM

visualvm的使用,