我有一個Tomcat Java web應用程序,它在加載時抖動Java GC。我認爲這是由於大量短壽命物體和未知數量的中等壽命物體的組合。如何生成Java對象生存期的直方圖
爲了驗證這個理論,我想找到一個工具,它可以讓我確定所有分配的對象(或每10個對象等的更好性能)的對象生存期。理想情況下,最終輸出將是一個直方圖,顯示生活在不同時間量的對象的相對數量。
我認爲這個工具可能會構建在Instrumentation API或JVMTI之上。如果沒有好的工具已經這樣做了,那麼我也會很高興在編寫這樣一個工具時最好使用哪個JVM的接口。
您是否嘗試過JMX + VisualVM?還是探針? – 2010-07-15 18:46:45
也在代碼上運行靜態代碼分析器。這可能會指出一些關切的領域。 – 2010-07-15 18:50:29
一個不錯的免費分析器是Eclipse內存分析器(您不必安裝Eclipse)。 重新啓動應用程序後,它表現良好一段時間還是它開始跳出門?後者可能表明你只是沒有足夠的內存可用。 – Preston 2010-07-15 19:44:34