Процессор и профилирование не поддерживаются для удаленного сеанса jvisualvm - PullRequest
12 голосов
/ 18 ноября 2009

При мониторинге удаленного приложения (с помощью 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 ]

14 голосов
/ 18 ноября 2009

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

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

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

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

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

4 голосов
/ 13 октября 2015

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

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

Шаг 2: Убедитесь, что щелчок правой кнопкой мыши -> Запустить конфигурацию имеет следующий

-Dcom.sun.management.jmxremote = true -Dcom.sun.management.jmxremote.authenticate = false -Dcom.sun.management.jmxremote.ssl = false -Dcom.sun.management.jmxremote.port = 16001

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

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

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

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

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

1 голос
/ 18 ноября 2009

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

...