2011-07-13 50 views
14

如果我在cygwin控制檯中啓動java進程,然後啓動visualVm,​​則後者無法看到前者。visualvm無法看到從cygwin啓動的java進程

如果我在Dos控制檯中啓動相同的過程,visualvm認爲它很好。我在jdk1.6.0_25。這發生在win7 32b和win7 64b以及64b jvm。

任何人都可以想到一個解釋/解決方法?

+0

都來自同一個系統用戶? – FlorianOver

+0

是的,兩個 – Persimmonium

+0

中的同一用戶有任何參數? 如果從cygwin啓動visualVM,會發生什麼情況? (如果您通過jmx連接明確引用它會發生什麼? 右鍵單擊「添加JMX連接」) – FlorianOver

回答

2

我有同樣的問題。虛擬機未自動顯示,但我可以通過「添加JMX連接」,使用主機名和jmx.remote.port連接...

在VisualVM的轉到文件 - >添加JMX連接

localhost:3333 
在啓動時如

添加VM參數:

-Dcom.sun.management.jmxremote.port=3333 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 
2

的VisualVM可以自動檢測同一個用戶下運行的本地應用程序。所以一個解釋可能是cygwin進程在不同的用戶下運行。確保VisualVM和受監視的應用程序都在JDK 6 update 25下運行.JDK 6 update 25修復了以下JDK bug #6938627,這可能會影響您的案例。

11

我通過在Cygwin中運行VisualVM解決了這個問題。如果你不喜歡使用遠程JMX連接配置文件,您可以同時運行的VisualVM和使用Cygwin Java程序:

打開Cygwin的控制檯窗口,導航到visual_vm.exe從Cygwin的環境中運行該文件。

+0

或者簡單地$ JAVA_HOME/bin/jvisualvm – miraclefoxx