Я пытаюсь профилировать удаленную JVM с помощью VisualVM 1.4. Я использую macOS High Sierra 10.13.6 локально со следующей версией OpenJDK:
java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.181-b13, mixed mode)
Сервер запускает Debian Stretch со следующим OpenJDK:
java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-2~deb9u1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
Когда я наблюдаю за процессом JVM локально, я вижу все эти вкладки, и профилирование работает отлично.
![enter image description here](https://i.stack.imgur.com/ScTtd.png)
Однако, если я делаю это удаленно, я вижу что-то вроде этого:
![enter image description here](https://i.stack.imgur.com/lGtWa.png)
Обратите внимание на окно ЦП с надписью «Не поддерживается для этой JVM» и сокращенные вкладки, не включая «Профилировщик». Однако, как вы видите, я вижу некоторые данные.
Я подключаюсь через jstatd
. На сервере, следуя этой статье , я запускаю
jstatd -J-Djava.security.policy=/home/brandwatch/jstatd.all.policy -J-Djava.rmi.server.hostname=10.2.156.160 -Djava.rmi.server.logCalltrue
Ответы, подобные this , указывают, что это может быть связано с различными версиями JVM, однако моя версия выглядит одинаково, несмотря на то, что одна из них работает на MacOS, а другая на Debian.