9

我正在尝试分析使用mvn jetty:runVisualVM 1.3.6 执行的 Java 7 应用程序。CPU 显示为不可用,并且配置文件选项卡列出以下错误:

WARNING! Class sharing is enabled for this JVM. This can cause problems when profiling the application and eventually may crash it. Please see the VisualVM Troubleshooting Guide for more information and steps to fix the problem: https://visualvm.java.net/troubleshooting.html#xshare.

我能够正常分析任何其他应用程序。

VisualVM 日志多次显示以下错误:

java.io.IOException: Unable to open socket file: target process not responding or HotSpot VM not loaded

可能相关的细节:
- OSX 10.8.3
- 在 JDK 1.7u25 下运行的应用程序和 VisualVM

我可以假设反对意见与以下事实有关,即有一个与此问题相关的记录错误并建议设置Xshare:off,我会将此链接包含到错误报告中,该报告将其列为在 1.6u6 之后修复。我正在运行 1.7u25,所以这不适用于我。

4

3 回答 3

14

对于 Mac,请尝试传递这些 VM 参数:-Xverify:none -Xshare:off

如果您使用 JConsole 和其他 JMX 工具,还包括:

-Xcom.sun.management.jmxremote

通过以下方式找到:http: //brian.pontarelli.com/2009/10/21/fixing-java-tools-on-snow-leopard/

于 2013-08-21T14:08:40.710 回答
2

在 Mac 上,尝试在 Tomcat 中分析 Web 应用程序并运行 JDK 1.7,我必须添加 -Xverify:none 标志以避免“无法打开套接字文件:目标进程没有响应或未加载 HotSpot VM”错误消息。

于 2014-03-20T21:38:05.413 回答
1

您在问题中包含的链接(https://visualvm.java.net/troubleshooting.html#xshare)有一些建议:

用于分析的动态附加存在一个已知问题,当启用类共享时,它可能会导致目标 JVM 崩溃。要启动没有类共享的应用程序,请为启动应用程序的 java 命令提供 -Xshare:off 参数。

于 2013-08-08T13:46:21.273 回答