2014-12-01 95 views
0

我有一個關於在glassfish 4服務器上運行的亞馬遜ec2的web服務器,我試圖連接visualvm到服務器,但它是不可能的,所以我遵循本教程(http://looksok.wordpress.com/2012/02/10/remote-use-of-visualvm-with-xming/),我安裝插件glassfish服務器jvisualvm,現在我可以監視玻璃魚,但我不能做堆轉儲來查看我的應用程序使用的內存細節。 我該怎麼辦?在visualvm玻璃魚堆轉儲

Error trying heap dump

+0

您是否嘗試在應用程序窗口中右鍵單擊該應用程序並選擇堆轉儲? – 2014-12-01 17:52:35

+0

我編輯我的問題併發布屏幕截圖。我嘗試在左側菜單上右鍵單擊glassfish,然後選擇堆轉儲,但是它顯示了我可以在屏幕截圖中看到的錯誤。 – RoberV 2014-12-02 17:54:13

+0

你可能沒有權限採取堆轉儲。你是否以特權用戶的身份運行該進程? – 2014-12-02 19:38:38

回答

1

可以使用jmap工具JDK中創建一個HPROF格式堆轉儲: http://docs.oracle.com/javase/6/docs/technotes/tools/share/jmap.html

舉個例子,在上面的截圖你的GlassFish的PID,命令將如下:

jmap -dump:file=/path/to/my/dumpfile.hprof 1376 

你也可以使用jps查找進程ID:

jps -v 

-v標誌使輸出詳細,給你更多的信息來告訴哪個進程是正確的。