我正在尝试使用 Java VisualVM 中的 Visual GC 可视化远程 Tomcat 的内存布局。在托管 Tomcat jstatd 的 Linux 服务器上运行(包括tools.policy和正确的 [-J]-Djava.rmi.server.hostname=[SERVER_IP],它们也可以在 Tomcat 的 jvm 选项中找到) )。
从 VisualVM 到 server/jstatd 的连接正常工作:
但是我在 Jstatd 连接的Visual GC选项卡中看到的只是 Jstatd JVM 本身的内存详细信息,而不是 Tomcat 的数据。
编辑:在 Tomcat 连接(prod apl01 jmx)的 Visual GC 选项卡中,有人告诉我:“此 JVM 不支持”使用我们在内部运行的系统测试它,我在这里得到了正确的数据。
远程 Tomcat 使用它自己的用户“tomcat”运行。jstatd 也必须由该用户启动吗?还是我可能会遗漏另一个问题?
任何可行的替代方案,例如提供类似于以下可视化的另一种可视化工具,都是绝对可以接受的。我们也在使用Yourkit,但我在其中找不到任何类似于 Visual GC 易于理解的样式。