我正在设法获得一个远程Tomcat的内存布局,该布局在Java中使用VisualVM可视化。在承载Tomcat的Linux服务器上(包括tools.policy和适当的-J-Djava.rmi.server.hostname= server _IP,也可以在Tomcat的jvm选项中找到)。
从VisualVM到服务器/jstatd的连接正常工作:

但是我在Jstatd连接的Visual 选项卡中看到的只是Jstatd本身的内存详细信息,而不是Jstatd本身的数据。
编辑:和Tomcat (prod )的Visual选项卡中,我被告知:“不支持这个JVM”,用我们内部运行的系统测试它,我在这里得到了正确的数据。
远程Tomcat与它自己的用户"tomcat“一起运行。这个用户也必须启动jstatd吗?还是我可能会错过另一个问题?
任何像另一个提供类似于下面的可视化的可视化工具这样的工作选择都是绝对可以接受的。我们也在使用Yourkit,但我在其中找不到任何类似Visual的易于理解的样式。

发布于 2013-08-29 13:14:39
在对我们的地区开发环境进行了更多的研究和测试之后,我意识到我们对生产环境没有正确的权限。因此,我要求管理员将jstatd添加到sudoers列表中,而voilà则如预期的那样工作:
sudo /usr/java/latest/bin/jstatd -J-Djava.security.policy=/home/empulse/tools.policy -J-Djava.rmi.server.hostname=[SERVER_IP]
发布于 2017-02-08 07:48:13
在远程服务器上创建策略,
vim /tmp/tools.policy增加许可,
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};启动jstatsd,
jstatd -J-Djava.security.policy=/tmp/tools.policy -J-Djava.rmi.server.hostname=<public_ip>您已经准备好了在本地机器上的VisualVM中使用Visual。
https://stackoverflow.com/questions/18490027
复制相似问题