我想使用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/javassh连接是向远程服务器开放的,我在某个本地端口上隧道化了远程端口3030,但是当我在jvisualvm中创建新的jmx连接(localhost:localport)时,我会得到以下错误
无法连接到本地主机:10000使用service:jmx:rmi:///jndi/rmi://localhost:10000/jmxrmi
有人能帮我建立联系吗?
发布于 2017-11-07 20:48:10
首先,如果您正在进行远程连接,则本地主机连接没有意义。
您需要在远程机器上启动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地址}’。
一旦jstatd服务在远程机器上启动,您基本上就可以使用address主机在jvisualVM UI上添加远程连接Ip地址连接。
用于JvisualVM的Oracle可以在remote.html中引用,但是要理解jstatd步骤确实令人费解。
https://stackoverflow.com/questions/22830223
复制相似问题