經過SSH SOCKS代理用VisualVM鏈接遠程主機監控JVM

一、先在本機上ssh -D 9696 user@0.0.0.0(遠程服務器IP)java

-D [bind_address:]port

二、在服務器上建立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)ssh

默認端口是1099,能夠在運行時加-p參數指定端口code

三、在本機啓動jvisualvmserver

jvisualvm -J-DsocksProxyHost=localhost -J-DsocksProxyPort=9696

-J-DsocksProxyHost:參數值跟ssh -D的參數指定主機保持一致,默認localhostblog

-J-DsocksProxyPort:參數值跟ssh -D的參數指定端口保持一致it

四、添加遠程主機io

此處的端口和服務器啓動jstatd服務的端口一致,若是沒有顯式指定默認是1099.console

注:jconsole一樣能夠file

jconsole -J-DsocksProxyHost=localhost -J-DsocksProxyPort=9696
相關文章
相關標籤/搜索