Процессор и профилирование не поддерживаются для удаленного сеанса 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)
Локальный мониторинг работает как рекламируемый.
Ответы
Ответ 1
Дистанционное профилирование кода и выделение не поддерживается виртуальной виртуальной машиной. Это отстой, однако, если вы хотите включить график CPU, вы можете сделать это, включив JMX с
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=12345
Возможно, вам потребуется добавить некоторые параметры проверки подлинности на основе вашей сети. Параметры JMX предоставят вам использование CPU и состояние потока, а также удаленный jstack.
Список возможностей для удаленной версии можно найти здесь:
Возможности виртуальной виртуальной машины
ИЗМЕНИТЬ
Получите последнюю версию визуального vm 1.2.1 и загрузите VisaulVM-Sampler. Это будет прочитано из JMX-соединения, чтобы показать информацию профилирования.
Ответ 2
Подключение java-программы eclipse.
Шаг 1: убедитесь, что Eclipse → Настройки → Java → Установленные 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.
Ответ 3
Это потому, что удаленная версия (хотя и немного) больше локальной версии?