Я пытаюсь отслеживать информацию 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? Буду признателен за любую оказанную помощь. Спасибо.