удаленное профилирование neo4j с использованием visualvm - PullRequest
0 голосов
/ 21 марта 2019

Я пытаюсь отслеживать информацию GC, используя VisualVM с локального ноутбука и подключаясь к приложению Neo4j (enterprise), работающему на Oracle JDK 8, на удаленном экземпляре EC2 под управлением Ubuntu 16. Я могу подключиться с помощью соединения JMX, но проблема в том, что я могу ничего не посмотреть на VisualGC (плагин). Сообщение «Не поддерживается для этой JVM».

На основании этих ссылок и ссылок я выполнил команду jstatd на пульте, но это не решило проблему. Затем, глядя на эту ссылку , я запустил jstatd как neo4j пользователь, поскольку это пользователь, под которым запускается служба Neo4j. Если я запускаю jstatd как ubuntu пользователь, приведенная ниже команда работает, но не показывает никаких данных в VisualGC.

sudo -u neo4j jstatd -p 8888 -J-Djava.security.policy=/home/ubuntu/tools.policy -J-Djava.rmi.server.hostname=neo4j_ip_address

Запустив указанную выше команду как neo4j, пользователь выдал эту ошибку:

Could not create remote object access denied ("java.util.PropertyPermission" "java.rmi.server.ignoreSubClasses" "write") java.security.AccessControlException: access denied ("java.util.PropertyPermission" "java.rmi.server.ignoreSubClasses" "write")
        at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
        at java.security.AccessController.checkPermission(AccessController.java:884)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
        at java.lang.System.setProperty(System.java:792)
        at sun.tools.jstatd.Jstatd.main(Jstatd.java:139)

Это правильные разрешения для файла tools.policy?

-rwxr-xr-x 1 neo4j  adm    112 Mar 21 15:41 tools.policy

Содержание tools.policy:

grant codebase "file:/usr/lib/jvm/java-8-oracle/lib/tools.jar" {
   permission java.security.AllPermission;
};

Как мне заставить VisualGC работать в этом сценарии? Есть ли какие-либо журналы для VisualVM, чтобы знать, что происходит? Какие-либо другие инструменты, которые я могу использовать для визуального просмотра статистики GC? Буду признателен за любую оказанную помощь. Спасибо.

1 Ответ

0 голосов
/ 22 марта 2019

Что произойдет, если вы попытаетесь запустить jstatd с полным путем?

sudo -u neo4j /usr/lib/jvm/java-8-oracle/bin/jstatd -p 8888 -J-Djava.security.policy=/home/ubuntu/tools.policy -J-Djava.rmi.server.hostname=neo4j_ip_address

...