在工作中,我們發現在某些情況下(特別是緩慢的情況下),我們有不同的行爲,在重啓時獲得。我們可以查看JVM內存中的對象嗎?
我們猜測一個緩存沒有被正確初始化,或者是一個併發問題...... 無論如何,它在任何其他環境中都不能再生產。
我們居然沒有記錄器激活...這是一箇舊的組件...
因此,我想知道是否有工具,可以幫助我們看到存在於不同OBJETS JVM內存以檢查緩存內容...
謝謝!
編輯:
我沒有訪問生產服務器直接,我們的應用程序服務器的WebLogic 10,我沒有一個指向對象的指針,但我知道緩存對象類型.. 。
EDIT2:
我們的服務器上JRE 1.5上運行,是有可能使用JMAP?在JDK5無法找到它:( 此外,遠程調試可能是好的,但我們不能出於安全考慮......
EDIT3:
其實+與jHat VisualVM的是確定對我來說,我發現我的對象在轉儲中,但我無法正確讀取hashmap(包含大約60000項的對象)... 是否有工具以友好的方式讀取同時發生的映射?我需要找到一個鍵的值(或其在地圖中的存在),而沒有手動瀏覽60k記錄 其實我在eclipse MAT論壇上讀到它也不可能用它...
編輯4: 經過一些經驗,我真的很喜歡像VisualVM這樣的工具。也使用YourKit。 有一些有用的功能,如OQL找到您需要查看的正確實例...
我不知道如何在沒有某種指針/變量引用的情況下訪問對象。 – aperkins 2010-05-11 17:32:37