我正在 VMWare Fusion 3.x (OSX) 内运行的 Windows 7 x64 上进行一些 Java 开发。我已经安装了 JDK6(更新 26),将 JAVA_HOME 设置为路径(无尾部斜杠),然后重新启动命令提示符。
我可以成功启动该程序。在启动过程中,它会运行校准,然后失败并出现以下错误:
“无法创建目录\VMWare-host\共享文件夹\.nbprofiler”(斜杠后没有空格,但标记隐藏了句点)
我可以单击继续,但是当我在程序中时,我无法进行 CPU 或内存分析。我抛出了一个类似的错误框:
“检索目标 JVM 保存的校准数据时出错:无法创建...(与之前相同)”
曾经,我通过在启动期间传递 --userdir 标志和 -J-Dnbprofiler.home 来实现此目的,但这个技巧不再起作用了。
(完整的命令是: jvisualvm --userdir c:\Users\myname -J-Dnbprofiler.home=c:\Users\myname )
如何强制 jvisualvm 将其校准数据保存在“真实”驱动器而不是 vmware 网络驱动器上并使其正常工作?
最佳答案
.nbprofiler 目录源自 user.home 系统属性。我不确定您对 Windows 安装做了什么,但您的 user.home 指向 directory\VMWare-host\Shared Folders
。因此,一种解决方案是修复 Windows 安装,以便 Java 将 c:\Users\myname
识别为您的用户主目录。如果由于某种原因失败,您可以使用 nbprofiler.home 属性来覆盖它,正如您正确编写的那样。但是,您应该将其指向不存在的目录,因此您应该使用以下命令行启动 VisualVM:
jvisualvm -J-Dnbprofiler.home=c:\Users\myname\nbprofiler --userdir c:\Users\myname\visualvm_userdir
最后一点,即使探查器部分不起作用,您也应该能够在“采样器”选项卡中使用采样。
关于java - 需要在 VMWare 下在 Windows 上运行 VisualVM 的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7363607/