Visual GC в Java VisualVM через jstadt для удаленного Tomcat

Я пытаюсь визуализировать структуру памяти удаленного Tomcat с помощью Visual GC в Java VisualVM. На сервере Linux, на котором размещен Tomcat, запущен jstatd (включая tools.policy и правильный [-J]-Djava.rmi.server.hostname=[SERVER_IP], который можно найти в jvm для Tomcat).
Соединение VisualVM с сервером/jstatd работает корректно:

Дерево соединений jvisualVM

Но все, что я вижу на вкладке Visual GC соединения Jstatd, — это сведения о памяти самой JVM Jstatd, а не данные Tomcat.
< strong>Редактировать: И на вкладке Visual GC соединения Tomcat (prod apl01 jmx) мне говорят: «Не поддерживается для этой JVM». Тестируя это с системой, которую мы запускаем внутри, я получаю правильные данные здесь.

Удаленный Tomcat работает со своим собственным пользователем "tomcat". Должен ли jstatd быть запущен этим пользователем? Или есть еще одна проблема, которую я мог упустить?

Любая работающая альтернатива, такая как другой визуальный инструмент, обеспечивающий визуализацию, подобную приведенной ниже, будет абсолютно приемлемой. Мы также используем Yourkit, но я не смог найти там ничего похожего на простой для понимания стиль Visual GC.
Визуализация схемы памяти Visual GC


person Benjamin Seiller    schedule 28.08.2013    source источник


Ответы (2)


Проведя еще несколько исследований и тестов в нашей среде разработки локали, я понял, что у нас не было нужных разрешений в производственной среде. Поэтому я попросил администратора добавить jstatd в список sudoers, и вуаля, он работает, как и ожидалось:

sudo /usr/java/latest/bin/jstatd -J-Djava.security.policy=/home/empulse/tools.policy -J-Djava.rmi.server.hostname=[SERVER_IP]

person Benjamin Seiller    schedule 29.08.2013

На удаленном сервере создайте политику,

vim /tmp/tools.policy

Добавить разрешение,

grant codebase "file:${java.home}/../lib/tools.jar" {
   permission java.security.AllPermission;
};

И запустите jstatsd,

jstatd -J-Djava.security.policy=/tmp/tools.policy -J-Djava.rmi.server.hostname=<public_ip>

и вы готовы с Visual GC внутри VisualVM на локальной машине.

person Hemant Thorat    schedule 08.02.2017