Процессор и профилирование не поддерживаются для удаленного сеанса jvisualvm


При мониторинге удаленного приложения (с помощью jstatd) я не могу ни профилировать, ни контролировать потребление процессора. Мониторинг кучи (при условии, что я не использую G1)работает. jvisualvm предоставляет сообщение " не поддерживается для этого JVM.- в окне графика процессора.

Есть ли что-нибудь недостающее в моей настройке? Google показал очень мало результатов.

Локальная среда (Mac OS X 10.6):

java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode)

Удаленная среда (Linux версии 2.6.16.27-0.9-smp (gcc версии 4.1.0 (SUSE Linux))):

java version "1.6.0_16" Java(TM) SE
Runtime Environment (build
1.6.0_16-b01) Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)

Локальный мониторинг работает так, как объявлено.

3 12

3 ответа:

Удаленное профилирование кода и выделение не поддерживается Visual VM. Это отстой, однако если вы хотите включить график процессора, вы можете сделать это, включив JMX с

-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=12345

Возможно, Вам также потребуется добавить некоторые параметры аутентификации, основанные на вашей сети. Настройки JMX дадут вам загрузку процессора и состояние потока, а также выполнение удаленного jstack.

Список функций для удаленной версии можно найти здесь: визуальные функции виртуальной машины

EDIT Получить последняя версия visual vm 1.2.1 и скачать VisaulVM-Sampler. Это будет считываться из соединения JMX, чтобы показать информацию профилирования.

Подключение программы eclipse java.

Шаг 1: убедитесь, что ваш Eclipse - > Preferences - > Java - > установленный JREs указывает на тот же jdk, где вы запустили visualvm.

Шаг 2: убедитесь, что конфигурация Right click -> Run имеет следующее

- Dcom.солнце.управление.jmxremote=true-Dcom.солнце.управление.jmxremote.authenticate=false-Dcom.солнце.управление.jmxremote.протокол SSL=ложь -протокол DCOM.солнце.управление.jmxremote.порт=16001

Шаг 3: Важно следуйте приведенному ниже предложению.

Https://visualvm.java.net/troubleshooting.html#jpswin2

Описание: сразу после запуска VisualVM отображается диалоговое окно с ошибкой, в котором говорится, что локальные приложения не могут контролироваться. Локально запущенные Java-приложения отображаются в виде (pid ###).

Разрешение: это может произойти в системах Windows, если имя пользователя содержит заглавные буквы. В в этом случае имя пользователя - это имя пользователя, но каталог jvmstat, созданный JDK, - это %TMP%\hsperfdata_username. Чтобы обойти эту проблему, закройте все приложения Java, удалите каталог %TMP%\hsperfdata_username и создайте новый каталог %TMP%\hsperfdata_UserName.

Также попробуйте JVMMonitor - неплохой плагин для мониторинга автономных программ eclipse.

Это потому, что удаленная версия (хотя и немного) больше, чем локальная версия?