1、先在本机上ssh -D 9696 user@0.0.0.0(远程服务器IP)
-D [bind_address:]port
2、在服务器上创建jstatd.policy
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
运行jstatd -J-Djava.security.policy=jstatd.policy -J-Djava.rmi.server.logCalls=true -J-Djava.rmi.server.hostname=xx.xx.xx.xx(服务器IP)
默认端口是1099,可以在运行时加-p参数指定端口
3、在本机启动jvisualvm
jvisualvm -J-DsocksProxyHost=localhost -J-DsocksProxyPort=9696
-J-DsocksProxyHost:参数值跟ssh -D的参数指定主机保持一致,默认localhost
-J-DsocksProxyPort:参数值跟ssh -D的参数指定端口保持一致
4、添加远程主机
此处的端口和服务器启动jstatd服务的端口一致,如果没有显式指定默认是1099.
注:jconsole同样可以
jconsole -J-DsocksProxyHost=localhost -J-DsocksProxyPort=9696