我试图从本地笔记本电脑上使用VisualVM监控GC信息,并在运行ubuntu16的远程EC2实例上连接到在OracleJDK8上运行的Neo4j (企业)应用程序。我可以使用JMX连接进行连接,但问题是我无法查看VisualGC (插件)上的任何内容。消息是“此JVM不支持”。
基于这个link和link,我在遥控器上运行了jstatd命令,但这并没有解决问题。接下来,查看此link,我以neo4j用户身份运行jstatd,因为这是运行Neo4j服务的用户。如果我以ubuntu用户身份运行jstatd,下面的命令可以工作,但不会显示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.policyTools.policy的内容:
grant codebase "file:/usr/lib/jvm/java-8-oracle/lib/tools.jar" {
permission java.security.AllPermission;
};如何让VisualGC在这种情况下工作?有没有什么日志可以让VisualVM知道发生了什么?还有没有其他工具可以用来直观地查看GC统计数据?任何帮助都是非常感谢的。谢谢。
发布于 2019-03-22 23:09:45
如果您尝试使用完整路径运行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
https://stackoverflow.com/questions/55288603
复制相似问题