【问题标题】:jvisualvm for remote hostjvisualvm 用于远程主机
【发布时间】:2014-05-14 20:15:45
【问题描述】:

我想使用 jvisualvm 的远程功能来查看远程 JVM 的实时统计信息。 我已经从我的 windows 机器上启动了 jvisualvm,但我不知道如何配置远程连接。

On the remote machine (OS: Redhat Linux), tomcat is started with below jmx parameters:
-Dcom.sun.management.jmxremote"
-Dcom.sun.management.jmxremote.port=3030"
-Dcom.sun.management.jmxremote.authenticate=false"
-Dcom.sun.management.jmxremote.ssl=false"

netstat -lnp| grep 3030
tcp  0  0 0.0.0.0:3030  0.0.0.0:*   LISTEN   30728/java

ssh 连接对远程服务器开放,我在某个本地端口上通过隧道连接了远程端口 3030,但是当我在 jvisualvm 中创建新的 jmx 连接 (localhost:localport) 时,出现以下错误

无法使用服务连接到 localhost:10000:jmx:rmi:///jndi/rmi://localhost:10000/jmxrmi

有人可以帮我建立连接吗?

【问题讨论】:

    标签: jvisualvm


    【解决方案1】:

    首先,如果您要进行远程连接,则本地主机连接没有意义。

    您需要在远程机器上启动 jstatd。为此,在远程计算机的主目录中创建一个 jstatd.all.policy 文件并添加以下行:

    grant codebase "file:${java.home}/../lib/tools.jar" {   
        permission java.security.AllPermission;
    };
    

    然后在远程机器的命令行上输入'jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname={Your Ip address}'

    在远程机器上启动 jstatd 服务后,您基本上可以使用添加远程主机在 jvisualVM UI 上添加远程连接 Ip 地址连接。

    JvisualVM 的 Oracle 文档可以参考https://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/applications_remote.html,但是理解 jstatd 步骤真的很混乱。

    【讨论】:

      猜你喜欢
      • 2016-05-26
      • 2017-12-11
      • 1970-01-01
      • 2014-02-19
      • 1970-01-01
      • 1970-01-01
      • 2016-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多