【发布时间】:2011-07-13 09:58:52
【问题描述】:
如果我在 cygwin 控制台中启动 java 进程,然后启动 visualVm,则后者看不到前者。
如果我在 Dos 控制台中启动相同的进程,visualvm 会很好。我在jdk1.6.0_25。这在 win7 32b 和带有 64b jvm 的 win7 64b 中都会发生。
谁能想到解释/解决方法?
【问题讨论】:
-
都来自同一个系统用户?
-
任何参数?如果从 cygwin 启动 visualVM 会发生什么? (如果通过 jmx-connection 显式引用它会发生什么?鼠标右键单击“添加 JMX 连接”)
-
@FlorianOver:好点。我有同样的问题,但是如果我从 Cygwin 内部启动 JVisualVM,我可以看到从 Cygwin 启动的 Java proc。但是,我没有看到在 Cygwin 之外启动 Java procs。奇怪...
-
这是因为 Java 使用目录 (hsperfdata_USERNAME) 来保存 Visualvm 使用的信息。通常它位于 %userprofile%/AppData/Local/Temp 中。出于某种原因,在 cygwin 下,Java 和 visualvm 在 /tmp 中查找该目录。无法弄清楚 Java 是如何知道 /tmp 的。
-
哇哦!多年来,我一直认为是 Gradle 以某种方式使启动的 Java 进程不被调试。 (相对于从 IDE 运行。)我永远不会猜到这是 cygwin / temp 目录问题。