java - jvisualvm 连接到远程 jstatd 不显示应用程序

标签 java jvm jvisualvm jstatd

我在远程服务器(Ubuntu 服务器 14.04)上启动了一个 jstatd:

jstatd -J-Djava.security.policy=.jstatd.all.policy -J-Djava.rmi.server.logCalltrue -p 9099

并尝试在 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)]

所有迹象都表明它正在发挥作用。但是 jvisualvm 中没有显示任何应用程序:

enter image description here

enter image description here

最佳答案

显然,VisualVM 希望您尝试远程连接的服务器(在您的例子中是 Ubuntu Server 14.04)具有一致的 DNS 名称。因此,如果您为 VisualVM 指定一个 IP 地址而不是 DNS 名称,您应该将以下内容添加到您的 jstatd 启动行:

-J-Djava.rmi.server.hostname=<the IP address to your Ubuntu server here>

此外,我发现在某些 VisualVM 版本中不支持指定端口选项(在您的情况下为 -p 9099):

Known limitation: In this VisualVM release the jstatd's default port and rminame must be used when starting the jstatd utility, i.e. the use of the -p and -n options is not supported. VisualVM Troubleshooting Guide

总而言之,您应该尝试在您的 Ubuntu 服务器上运行以下 jstatd 行:

jstatd -J-Djava.security.policy=.jstatd.all.policy -J-Djava.rmi.server.hostname=10.82.83.117 -J-Djava.rmi.server.logCalltrue


来源:

  1. http://www.catify.com/2012/09/26/remote-monitoring-with-visualvm/
  2. 它对我有用:)

关于java - jvisualvm 连接到远程 jstatd 不显示应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32515727/

相关文章:

java - 在 Java 中传递抽象类

java.lang.InternalError : a fault occurred in a recent unsafe memory access operation in compiled Java code 错误

java - 主要垃圾收集是否需要 JVM 之外的内存?

java - jvisualvm:卡在 “Loading Heap Dump...” 屏幕上

java - visualvm历史图

java - 视觉虚拟机 : Is it possible to profile an application running on a remote server that only has JRE(no JDK)

java - 项目使用 Tomcat JNDI 数据源查找时如何实现 Liquibase 变更日志

java - 使用计数器的 Douglas Peucker 算法

Android 4.2.2 设备上的 java.lang.NoClassDefFoundError

java - 强制执行 JVM GC - 有充分的理由(我希望)