加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – jps无法连接到远程jstatd

发布时间:2020-12-14 05:09:22 所属栏目:Java 来源:网络整理
导读:我正在使用jstatd查询使用jps的远程JVM,以便最终使用VisualVM监视它. 我用jstatd运行以下安全策略: grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission;}; jstatd正在一个64位的Linux机箱上运行,具有1.6.0_10
我正在使用jstatd查询使用jps的远程JVM,以便最终使用VisualVM监视它.

我用jstatd运行以下安全策略:

grant codebase "file:${java.home}/../lib/tools.jar" {

    permission java.security.AllPermission;
};

jstatd正在一个64位的Linux机箱上运行,具有1.6.0_10版本的HotSpot vm. jstatd命令是:

jstatd -J-Djava.security.policy=jstatd.tools.policy -J-Djava.rmi.server.logCalls=true

我试图从Windows 7机器运行jps.由于防火墙的限制,我通过SSH隧道将RMI数据隧道传送到我的Windows机器,这样jps命令行就是:

.jps.exe -m -l rmi://localhost

当我运行jps时,我看到jstatd日志中的连接尝试,如下所示:

Feb 1,2011 11:50:34 AM sun.rmi.server.UnicastServerRef logCall
FINER: RMI TCP Connection(3)-127.0.0.1: [127.0.0.1: sun.rmi.registry.RegistryImpl[0:0:0,0]: java.rmi.Remote lookup(ja   va.lang.String)]

但在jps端,我得到以下错误:

Error communicating with remote host: Connection refused to host: 192.168.1.137; nested exception is:
    java.net.ConnectException: Connection refused: connect

根据jstatd日志中列出的连接尝试,我认为jps实际上是到达主机,但由于某些原因被阻止.有没有一些我设置的安全策略或其他一些设置可以改变,以便我可以从远程jstatd获取jps的统计信息?

解决方法

我的猜测是,您只转发RMI注册表端口(1099),但您还需要打开另一个端口.

检查远程端口

# netstat -nap | grep jstatd

tcp        0      0 :::1099     :::*       LISTEN      453/jstatd          
tcp        0      0 :::58204    :::*       LISTEN      453/jstatd

在这种情况下,您需要转发端口58204以及1099

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读