java - 无法连接 VirtualBox VM 上的分析器 (JMC)

标签 java networking virtualbox jmc

我正在 VirtualBox VM (Windows 2008 Server) 内托管的 Weblogic 服务器上运行应用程序。要连接 JRockit Mission Control Profiler,我的服务器参数如下:

-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n

当我启动服务器时,在 ProcessExplorer 中我可以看到应用程序正在监听端口 4000

但在任务控制 UI 中,我既无法在默认本地连接中看到此应用程序,也无法使用手动端口配置作为新连接。我可以看到同一虚拟机中其他 Java 应用程序的连接。

enter image description here

我的配置是这样的:

  • guest (VM) 操作系统: Windows 2008 Server
  • 主机操作系统:Windows 7 虚拟机网络:桥接适配器(混杂:拒绝)
  • 服务器: Weblogic 12c
  • Java:1.6
  • JVM: Oracle JRockit(R)(构建 R28.2.5-20-152429-1.6.0_37-20120927-1915-windows-x86_64,已编译 模式)
  • 虚拟机: VirtualBox 4.2.4

我能找到的最适合 Linux VM 的答案是 this .

我尝试了以下:

  • 具有高级安全性的 Windows 防火墙 -> 入站规则 -> 添加 端口 4000 具有完全访问权限
  • 具有高级安全性的 Windows 防火墙 -> 出站规则 -> 添加具有完全访问权限的端口 4000
  • 更改了虚拟机网络 -> 桥接适配器 -> 混杂:允许全部
  • 更改了虚拟机网络 -> NAT

但还没有运气。有人以前遇到过这个问题吗?

最佳答案

上面的 JVM 标志用于 JDWP 样式调试,而不是使用 JMXRMI 进行远程连接,而 JRockit Mission Control 正在使用 JMXRMI。

您应该使用 -Dcom.sun.management.jmxremote 属性运行, http://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html

或者对于 JRockit,您也可以使用简写标志 -Xmanagement

http://docs.oracle.com/cd/E15289_01/doc.40/e15062/optionx.htm#BABJDIGF

我建议 -Xmanagement:port=4000,ssl=false,authenticate=false

然后您应该能够创建到服务器操作系统主机名/IP 和端口 4000 的自定义 jmc 连接。

如果您在同一主机上运行 WLS 和 JRMC,您应该能够在 JVM 浏览器中看到正在运行的 WLS。如果不这样做,您仍然可以使用与上面相同的标志。

关于java - 无法连接 VirtualBox VM 上的分析器 (JMC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26094288/

相关文章:

java - 在 headless 模式下运行 Eclipse 时禁用错误消息对话框?

java - AppCompatActivity 改变了我的 AlertDialog 设计

java - 共享元素转换不起作用,黑屏

android - 在某些 3G 网络上避免图像压缩

virtualbox - 将 Virtualbox 虚拟机转换为 Amazon AMI

java - Eclipse 中 Android 应用程序项目缺少文件

java - Java中如何接收多个 vector ?

cuda - 是否可以在安装了 ubuntu 的虚拟机中开发 cuda 程序

linux - 安装和配置 virtualenv 和 python (Linux)

java - 使用 Netty 或其他轻量级 NIO 库的请求-响应