gpt4 book ai didi

java - jps 无法连接到远程 jstatd

转载 作者:搜寻专家 更新时间:2023-10-30 21:07:53 27 4
gpt4 key购买 nike

我正在尝试使用 jstatd 通过 jps 查询远程 JVM,以便最终使用 VisualVM 对其进行监控。

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

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

permission java.security.AllPermission;
};

jstatd 运行在 64 位 Linux 机器上,HotSpot 虚拟机版本为 1.6.0_10。 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 实际上已到达主机,但由于某种原因被阻止。是否有我设置的一些安全策略或我可以更改的其他设置,以便我可以让 jps 从远程 jstatd 中提取统计信息?

最佳答案

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

检查远端有哪些端口

# netstat -nap | grep jstatd

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

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

关于java - jps 无法连接到远程 jstatd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4865650/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com