我正在尝试使用VisualVM 1.3.6对使用mvn jetty:run
执行的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下运行的app和VisualVM
我可以假设downvotes与这个问题有关的问题有关,这个问题与设置Xshare:off
的建议有关,我会在错误报告中加入this link,列出它在1.6u6之后固定。我正在运行1.7u25,所以这不适用于我。
答案 0 :(得分: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/
找到答案 1 :(得分:2)
在Mac上,尝试在Tomcat中配置Web应用程序并运行JDK 1.7,我不得不添加-Xverify:none标志以避免"无法打开套接字文件:目标进程未响应或HotSpot VM未加载& #34;错误信息。
答案 2 :(得分:1)
您在问题中包含的链接(https://visualvm.java.net/troubleshooting.html#xshare)有一些建议:
动态连接存在一个已知问题,用于分析,启用类共享时可能会导致目标JVM崩溃。要在没有类共享的情况下启动应用程序,请为启动应用程序的java命令提供-Xshare:off参数。