我正在調查Tomcat/Spring/Hibernate應用程序中的一些內存泄漏,這些應用程序在幾次重新部署之後導致可怕的「超出permgen」錯誤。我已經下載了免費版本的plumbr,這證實我有一個類加載器泄漏,但不幸的是我無法承擔499美元的詳細報告。有免費的工具可以執行等效分析並告訴我在哪裏尋找它?或者我可以調查的這種泄漏的其他常見原因?如何使用免費工具查找類加載器泄漏?
步驟我已經採取了迄今:
- 確保我的JDBC驅動程序未註冊的情況下關機
- 手動關閉MySQL驅動的AbandonedConnectionCleanupThread(每Tomcat Guice/JDBC Memory Leak)
還有什麼可能是造成泄漏?
作爲部分答案我自己的問題,還有的類加載器泄漏的常見原因的完整列表在這裏:HTTP:// java的.jiderhamn.se/2012/02/26/classloader-leaks-v-common-errors-and-known-offenders/ – Jules
哪個版本的Tomcat可以使用? Tomcat 7. +確實支持memleak檢測 – fge
我在tomcat 7上,並且已經修復了它可以檢測到的所有泄漏,但是其他地方仍然有泄漏。 – Jules