无法在VisualVM工具中显示jstad监控
我让EC2实例托管Tomcat应用程序。其中安装了JVM。
我正尝试从我的工作站监视VisualGC。 在所有这些应用程序实例中,我们能够在可视VM工具中建立JMX连接,但对于插件-可视GC,它显示此JVM不支持的所有实例
- 我们可以通过添加JMX连接来连接到该实例
- 当我尝试添加jstatd连接时,显示&不支持此JVM";。
我还创建了一个策略文件,正如互联网上其他解决方案所建议的-‘jstatd.all.policy’,并尝试启动jstatd,如下所示。
使用的命令-
./jstatd -J-Djava.security.policy=jstatd.all.policy
我确保当时jstatd正在实例中运行,我们可以在命令行中获取实例中的统计信息,但不知何故无法在工具中显示这些统计信息,实例和可视化VM工具的可视化GC插件没有相互连接。有趣的是,我们还可以看到其他监控图表。
我无法查看它的原因是什么?
我也已经尝试过此命令,就是这样-sudo ./jstatd -J-Djava.security.policy=/tmp/jstatd.all.policy -J-Djava.rmi.server.hostname=<host ip> -J-Djava.rmi.server.logCalls=true &
但这并没有解决问题
解决方案
希望您的安全策略文件(工具.策略)缺少对工具.jar的权限
grant codebase "file:/usr/lib/jvm/java-8-openjdk-amd64/lib/tools.jar" {
permission java.security.AllPermission;
};
添加上述权限后,运行jstatd
sudo jstatd -J-Djava.security.policy=/tmp/tools.policy -J-Djava.rmi.server.hostname=10.101.32.110 -p 7198
根据您的环境替换JDK文件夹、主机名和端口。
相关文章