使用VisualVM远程分析Neo4J



我正在尝试使用来自本地笔记本电脑中的VisualVM监视GC信息,并连接到在Oracle JDK 8上运行的Neo4J(Enterprise)应用程序在远程EC2实例上运行Ubuntu 16.我能够使用使用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)

这些是工具的正确权限吗?policy文件?

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

工具的内容:

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

在这种情况下,如何使VisualGC工作?VisualVM是否有任何日志可以知道发生了什么?我可以使用其他工具来视觉上查看GC统计信息吗?任何帮助深表感谢。谢谢。

如果您尝试使用完整路径运行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

相关内容

  • 没有找到相关文章

最新更新