感謝Oracle的Tomas Hurka我可以回答這個問題。
這個問題是由jvm被檢測到和由jvmstat(http://java.sun.com/performance/jvmstat/)初始化時間之間的超時引起的。隨着編織開啓,這個間隔明顯增加。
有兩種方法可以解決這個問題。
1)你可以明確地啓用JMX在預定的端口監控的應用程序與
-Dcom.sun.management.jmxremote.port=<portNum>
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
和VisualVM的重視通過文件 - 您的應用程序>添加JMX連接 和使用「localhost:」作爲一個連接字符串。
2)你可以超時;在visualvm/etc目錄中(例如visualvm_132 \ etc)編輯visualvm.conf中的defaults_opts設置,以便根據需要增加-J-Dsun.jvmstat.perdata.syncWaitMs = 10000(我增加了它* 10到100秒)
VisualVM還有一個通過幫助 - >關於 - >日誌文件可用的日誌文件,其中顯示了所有已拋出的異常。在這裏,我發現超時的堆棧跟蹤...
INFO [com.sun.tools.visualvm.jvmstat.JvmstatModelProvider]: Could not get MonitoredVM
sun.jvmstat.monitor.MonitorException: Could not synchronize with target
at sun.jvmstat.perfdata.monitor.v2_0.PerfDataBuffer.synchWithTarget(PerfDataBuffer.java:262)
再次感謝Tomas。他應該從這個任何點得到
來源
2011-09-01 11:54:54
JFK
也許日食鏈接代碼儀器確實與VisualVM很好地工作? –
你確定這是連接到-javaagent標誌嗎?其他Java應用程序的監視工作正常嗎? –
Tomas,是的,它工作正常,直到我使用-javaagent啓動應用程序。正如Peter所說,我懷疑這是因爲eclipselink是「編織」的 - 這正在改變類的字節碼 - 而這對visualvm不起作用。 – JFK