1

我正在尝试在远程主机上分析我的 jvm 应用程序。我正在使用 Jvisualvm 我按照这里的建议设置 jstatd(链接已删除,导致网络钓鱼网站)。我能够成功地“telnet remotehost 1099”。所有的 tcp/ip 端口都在远程打开防火墙。

我在 jvisualvm 中添加了我的远程主机。另外,请确保 jstatd 端口是 1099,刷新时间为 3 秒。

我开始了我的申请

-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=8011 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false

但是,我的 jvm 应用程序没有出现在我的 jvisualvm 中。还有什么我需要配置或检查的吗?

jvisualvm 1.3.5 本地:Mac OSX Oracle jdk 1.6.37 远程:centos 6 oracle jdk 1.6.24

4

2 回答 2

1

1)您应该使用JMX启用
的远程连接示例启动您的应用程序

-Dcom.sun.management.jmxremote    
-Dcom.sun.management.jmxremote.port=9990   
-Dcom.sun.management.jmxremote.authenticate=false   
-Dcom.sun.management.jmxremote.ssl=false  

2)你应该有JMX类能够对它们做一些事情。我想你知道这一点

于 2013-02-05T20:07:38.010 回答
1

您需要jstatd在远程机器上启动。为此jstatd.all.policy,在远程计算机的主目录中创建一个文件并添加以下行:

grant codebase "file:${java.home}/../lib/tools.jar" {   
    permission java.security.AllPermission;
};

然后在远程机器的命令行上输入

jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname={Your IP address} '

在远程机器上启动服务后,您基本上可以使用add remote host在jvisualVM jstatdUI 上添加远程连接 IP 地址连接。

JvisualVM 的 Oracle 文档可以在https://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/applications_remote.htmljstatd参考,但理解步骤确实令人困惑。

于 2017-11-07T20:52:38.317 回答