当我试图通过运行Java Mission Control ( jmc
) 来分析我的本地 Java 应用程序时,我无法连接到该应用程序。在左侧窗格中显示的所有 JVM 进程的描述中显示“非热点 JVM 不支持 Flightrecorder” 。我的环境:Windows 7,Java 8u25
因为我无法在网上的任何地方找到这个问题的解决方案,所以我想分享我幸运地为其他人(以及我未来的自己)找到的解决方案,这些人将来可能会遇到同样的问题。
在这里,我发布解决方案和导致解决方案的观察结果。
当我(巧合)尝试运行jvisualvm
它时显示错误“无法监视本地 Java 应用程序”。在http://visualvm.java.net/troubleshooting.html中标题为“无法监控本地应用程序(启动时出现错误对话框)”的部分中,我发现在 Windows 系统上,如果帐户名称包含一个确切的文件夹名称可能会出现问题大写字母。
%TMP%\hsperfdata_username
解决方案是以大写与我的用户名对应的方式更改文件夹的名称(文件夹名称中有“e”而不是“E”)。在这个改变之后,两者jmc
又jvisualvm
开始工作了。
注意:您需要在更改文件夹名称之前杀死所有当前正在运行的 Java 应用程序。