我正在尝试在远程主机上配置我的jvm应用程序。 我正在使用Jvisualvm 我在这个http://www.codefactorycr.com/java-visualvm-to-profile-a-remote-server.html中建议使用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 local:Mac OSX Oracle jdk 1.6.37 remote:centos 6 oracle jdk 1.6.24
答案 0 :(得分: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
个课程才能对它们做些什么。我想你知道这个
答案 1 :(得分: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} '
在远程计算机上启动jstatd
服务后,您基本上使用添加远程主机在jvisualVM UI上添加远程连接IP地址连接。
可以在https://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/applications_remote.html引用JvisualVM的Oracle文档,但理解jstatd
步骤确实令人困惑。