我有EJB的企業應用程序。該應用程序的總大小是34兆。 當我部署我的應用程序時,一切都很好,但是當我重新部署它時,總負載類的數量會增加。我正在使用visualVM來查看此信息。 所以它應該如何或它是一個內存泄漏。如何解決這個問題呢? 謝謝Glassfish中加載的類的總數
2
A
回答
6
你有一個類加載器泄漏!
通常會發現,當您在任何 JavaEE應用服務器(包括Glassfish)上部署應用程序時,應用程序服務器將爲您的應用程序創建一個新的類加載器。當你的應用程序被初始化並且運行時,該類加載器將加載新的類,這些類將被放入永久內存中,稱爲PermGen
區域。
當應用程序被取消部署時,該類加載器應該被垃圾收集,但有時不會發生這種情況,因爲導致引用持久存在。當您的應用程序重新部署時,應用程序服務器會像以前一樣運行相同的動作,但現在,可用內存較少。
欲瞭解更多信息,請看Frank Kieviet的博客文章Classloader Leaks和後續How to Fix Classloader Leaks。
0
Visual VM只是Netbeans中包含的「profiler」工具的獨立版本。
因此,爲了檢測您的內存泄漏,您應該閱讀Netbeans分析器的文檔 。
這裏有一些鏈接,讓你開始
相關問題
- 1. Glassfish應用程序特定類加載
- 2. Glassfish不加載jdbc
- 3. 加載的類的總數不斷增加
- 4. 在JConsole增加總卸載類增加
- 5. java.lang.ClassNotFoundException當試圖在glassfish中動態加載一個類
- 6. Javascript頁面加載總數
- 7. 跨類加載器的類加載
- 8. 如何在jquery中加載一個新的類加載函數?
- 9. Glassfish 3.1.1類加載器訂單與jar文件
- 10. glassfish/tomcat Java服務器加載類一次
- 11. GlassFish擴展JAR使用通用類加載器
- 12. 無法卸載的GlassFish 3
- 13. 無法在Glassfish上的Rails應用中加載罐子
- 14. Glassfish中的「加載應用程序時出現異常」錯誤
- 15. Websphere中的類加載8.5
- 16. Websphere中的類加載
- 17. VisualVM中的加載類
- 18. EAR/WAR中的類加載
- 19. JVM中的類加載器
- 20. Java中的類加載器
- 21. GlassFish應用程序重新加載
- 22. Glassfish服務器未加載servlet
- 23. Glassfish管理控制檯緩慢加載
- 24. Glassfish管理控制檯不會加載
- 25. Glassfish戰爭部署Jar未加載
- 26. Glassfish V3線程數增加
- 27. 如何從類加載器中刪除加載的類?
- 28. 使用現有類加載器加載文件夾中的類
- 29. 在一組迭代中加載總點數的最快方法?
- 30. swf加載類加載器參數