我在Unix上运行JBoss AS 5。我想从Windows 7远程启动visualGC。
首先,我在端口31111上创建了一个RMI注册表 - 因为RMI注册默认端口正忙 - 使用命令rmiregistry 31111 &
。
其次,我尝试使用命令jstatd -p 8725 -J-Djava.security.policy=/app/home/user/jstatd.policy
启动jstatd服务器。
第三,我启动了Jboss服务器。
第四,我得到了服务器的进程ID,即9740。
最后,我回到了Windows 7,我尝试运行此命令visualgc 9740@XX.XXX.X.XX:31111
。不幸的是,它返回时出现以下错误:
Remote Exception attaching to rmi://9740@XX.XXX.X.XX:31111
你能告诉我我做错了什么吗?
提前致谢。
答案 0 :(得分:3)
也许您需要将 java.rmi.server.hostname 属性提供给jstatd。 像这样:
jstatd -p 8725 -J-Djava.security.policy=/app/home/user/jstatd.policy -J-Djava.rmi.server.hostname=XX.XXX.X.XX
有关详细信息,请参阅RMI RemoteException。
答案 1 :(得分:1)
我找到了自己的问题的答案。遗憾的是,远程JMX并不总能与JBoss一起使用。
下表总结了案例:
JBoss Version - JDK - Works
4.2.3 ---- ---- 1.5 -- Yes
4.2.3 --------- 1.6 -- Yes
5.0.1 --------- 1.5 -- No
5.0.1 --------- 1.6 --- Yes
5.1 ----------- 1.5 -- No
5.1 ----------- 1.6 -- No
有关更多信息,请参阅this。
答案 2 :(得分:0)
我建议您查看策略文件。远程使用VisualGC时可能存在一些权限问题。请查看 this 链接。