当我使用jVisualVM时,我看到两个本地进程:VisualVM本身和我感兴趣的进程,我们称之为ProcessX。当我双击VisualVM进程时,一切正常。当我双击ProcessX时,应用程序会卡住并且不再响应。我使用eclipse运行我的Java应用程序,并且在一个Windows x64框上有一个独立版本的jVisualVM。我从“C:\Program Files\Java\jdk1.7.0_51\bin”运行jVisualVM。在VisualVM菜单中将代理设置为“无代理”也没有帮助。
如果您尝试使用VisualVM连接运行在本地主机上的进程时,通常会出现DNS解析问题。如果是这种情况,请尝试向要连接的进程添加以下系统属性:
-Djava.rmi.server.hostname=localhost
参见:https://dev59.com/3nM_5IYBdhLWcg3wslfs#6782309 和 有人成功地使远程JMX JConsole工作了吗?
我曾经遇到完全相同的问题,希望我的解决方案能帮助其他人。
问题和解决方案:我的系统是x64,但我运行了Intellij Idea文件“idea.exe”(这是默认的exe文件。它是为x32系统设计的),并从IDE中运行了Java应用程序。jVisualVM无法连接到它,因为我安装了x64 jdk。当我意识到我的错误并运行idea64.exe时,问题得到解决。我可以打开任何我从IDE中运行的Java进程。
因此,如果您有x64系统,请下载并运行适当版本的eclipse。