Нужна помощь в запуске visualvm в Windows, когда под VMWare - PullRequest
0 голосов
/ 09 сентября 2011

Я занимаюсь разработкой Java под Windows 7 x64, работающей в VMWare Fusion 3.x (OSX). Я установил JDK6 (обновление 26), установил в JAVA_HOME путь (без косой черты) и перезапустил командную строку.

Я могу успешно запустить программу. Во время запуска выполняется калибровка, а затем происходит сбой с этой ошибкой:

«Не удалось создать каталог \ VMWare-host \ Shared Folders \ .nbprofiler» (без пробела после этой косой черты, но разметка скрывала период)

Я могу нажать, чтобы продолжить, но когда я в программе, я не могу выполнить профилирование процессора или памяти. Я выкидываю похожее окно с ошибкой:

"Ошибка при получении сохраненных данных калибровки для целевой JVM: не удалось создать ... (как ранее)"

Когда-то у меня это работало, передавая флаг --userdir и -J-Dnbprofiler.home во время запуска, но этот трюк больше не работает.

(Полная команда была: jvisualvm --userdir c: \ Users \ мое имя -J-Dnbprofiler.home = c: \ Users \ мое имя )

Как заставить jvisualvm сохранить данные калибровки на "реальном" диске вместо сетевого диска vmware и заставить это работать?

Ответы [ 3 ]

3 голосов
/ 10 сентября 2011

.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 

Последнее замечание, даже если часть профилировщика не работает, вы сможете использовать выборку ввкладка «Образец».

0 голосов
/ 16 июля 2013

Я нашел, что следующая команда работает для меня.

visualvm -J-Duser.home =% HOME%

Кроме того, мне нужно было добавить -Duser.home =% HOME% для команды запуска моего приложения.

Я определил nbprofile.home и userdir, но все еще получаю сообщение об ошибке, когда Profiler запускается для моего приложения: Ошибка агента профилировщика: не удалось создать каталог \ vmware-host \ Shared Folders.nbprofiler .

Я обнаружил, что Профилировщик использует user.home, определенный моим приложением, а не с Visualvm.Кажется, нужно и то, и другое.

0 голосов
/ 09 сентября 2011

Попробуйте отключить общий доступ для ВМ.

Это работает для меня с Windows 7 x86 в Fusion с отключенным общим доступом (и общий доступ - это механизм, предоставляющий папку, в которую вы не можете писать).

...