转至主要内容
上一页
上一页

8 常见问题

此部分包含有关 JDK Mission Control 的常见问题及其解答。

我无法连接到 JVM。可能是什么问题?

考虑以下事项:
  • 使用的协议是否正确?

    确保您所使用的要监视的 JVM 版本与运行 JMC 客户机的 JVM 所使用的版本相同。

    该服务 URL 的格式为:

    service:jmx:rmi:///jndi/rmi://<hostname>/jmxrmi

  • 是否已打开正确的端口?

    请注意,在 RMI 上运行 JMX 需要两个端口,而其中有一个端口不是事先已知的。

  • 通信是否被防火墙捕获?

    有关详细信息,请参阅 Oracle 技术网上的《Introduction to JDK Mission Control》中的 "JDK Mission Control Communications"。  

在尝试连接到 JVM 时,我获得一个堆栈跟踪,指示 JVM 尝试与陌生 IP 或主机名通信。这意味着什么?

有时,RMI 在确定要使用的地址时会出现问题。这可能由于下列任何原因引起:

  • 安全管理器中存在访问限制。

  • 计算机是多宿主计算机,并且 RMI 选择了错误的接口。

  • 存在错误配置的主机文件或存在一些其他网络相关配置问题。

如果所有其他方法都失败,则可以尝试指定 java.rmi.server.hostname 系统属性。请注意,这可能影响运行在 JVM 上的应用程序。

在启动期间出现关于找不到类的异常错误。出了什么问题?

确保使用 JAVA_HOME/bin/jmc 启动 JMC 客户机。

为什么 JDK Mission Control 找不到任何本地 JVM?

考虑以下事项:

  • 确保使用 JAVA_HOME/bin/jmc 启动 JMC 客户机。

  • 如果是从 Eclipse 运行 JMC,请确保 Eclipse 正在 JDK(不是 JRE)上运行。

  • 确保系统的 tmp 目录下有名为 hsperfdata_username 的目录,运行 JMC 的用户可以写入该目录,并且文件系统支持访问控制列表 (ACL)。

如何连接到 JBoss?

启动 JMC 之前,需要将 -Xbootclasspath/a 选项添加到 jmc.ini 文件的 -vmargs 部分。应将此选项的值(位于冒号之后)设置为由 JBoss 的 jconsole.bat 文件生成的扩展类路径(为此,将 @echo 添加到文件并运行)。


上一页
上一页