zor*_*rro 10 java jvm jvisualvm jstatd
我jstatd在远程服务器上启动了一个(Ubuntu Server 14.04):
jstatd -J-Djava.security.policy=.jstatd.all.policy -J-Djava.rmi.server.logCalltrue -p 9099
Run Code Online (Sandbox Code Playgroud)
并尝试在Windows上使用jvisualvm连接到它.我检查了netstat,建立了连接,并在遥控器上记录了呼叫:
Sep 11, 2015 12:48:51 PM sun.rmi.server.UnicastServerRef logCall
FINER: RMI TCP Connection(4)-10.82.199.0: [10.82.199.0: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(java.lang.String)]
Sep 11, 2015 12:48:55 PM sun.rmi.server.UnicastServerRef logCall
FINER: RMI TCP Connection(4)-10.82.199.0: [10.82.199.0: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(java.lang.String)]
Sep 11, 2015 12:48:59 PM sun.rmi.server.UnicastServerRef logCall
FINER: RMI TCP Connection(4)-10.82.199.0: [10.82.199.0: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(java.lang.String)]
Run Code Online (Sandbox Code Playgroud)
所有迹象都表明它正在发挥作用.但是jvisualvm中没有应用程序显示:
jai*_*bec 20
显然,VisualVM需要为您尝试远程连接的服务器(在您的情况下为Ubuntu Server 14.04)提供一致的DNS名称.因此,如果您要为VisualVM 指定IP地址而不是DNS名称,则应将以下内容添加到jstatd启动行:
-J-Djava.rmi.server.hostname=<the IP address to your Ubuntu server here>
Run Code Online (Sandbox Code Playgroud)
另外,我发现在某些VisualVM版本中不支持指定端口选项(在您的情况下为-p 9099):
已知限制:在此VisualVM版本中,启动jstatd实用程序时必须使用jstatd的默认端口和rminame,即不支持使用-p和-n选项. VisualVM故障排除指南
总而言之,您应该尝试在Ubuntu服务器上运行以下jstatd行:
jstatd -J-Djava.security.policy=.jstatd.all.policy -J-Djava.rmi.server.hostname=10.82.83.117 -J-Djava.rmi.server.logCalltrue
Run Code Online (Sandbox Code Playgroud)
资料来源:
| 归档时间: |
|
| 查看次数: |
7574 次 |
| 最近记录: |