在任何情況下,Java應用程序中的泄漏(例如Tomcat servlet應用程序)是否有可能超出分配的內存並使用額外的系統內存,或者是否爲真正防火牆(可以說)的已分配堆OS /內核內存(的其餘部分)?我正在使用Java 6和7在2.6內核Linux中工作,但這更多的是一個普遍的問題。Java堆內存泄漏是否可能使用比堆+ permgen更多的內存?
3
A
回答
2
是的 - 這是可能的。 Java內存區域被分成幾個區域 - 堆和permgen不是全部。還有代碼緩存和本地內存的區域,這對於所有的堆結構都非常流行。請看第0123張幻燈片的this presentation
+0
該演示文稿看起來很搞笑。喜歡圖片。 – GL2014
1
當然,這是可能的。簡單的例子是ByteBuffer.allocateDirect()
和FileChannel.map()
。這些緩衝區的內容不在Java堆中。
相關問題
- 1. JRuby PermGen。內存不足。堆空間內存泄漏
- 2. 的Java應用程序使用更多的內存比堆+ PermGen的
- 3. NSNumberFormatter是否可能泄漏內存?
- 4. SpenInView的內存泄漏本地堆棧
- 5. 內存泄漏C#異步(堆棧)
- 6. 內存泄漏和堆損壞?
- 7. 返回堆棧和內存泄漏
- 8. 可能的內存泄漏
- 9. 可能的內存泄漏
- 10. 可能的內存泄漏?
- 11. 可能的內存泄漏?
- 12. 堆損壞,可能的內存泄漏,C++
- 13. 向上的js堆圖表是否意味着內存泄漏
- 14. 使用CanvasRenderer可能的內存泄漏
- 15. 在.NET中,堆棧中是否也可能發生內存泄漏?
- 16. os.walk是否泄漏內存?
- 17. System.Diagnostics.EventLog是否泄漏內存?
- 18. Servlet中的JNDI查找是否會導致permgen內存泄漏?
- 19. Java中可能會有內存泄漏
- 20. Java內存泄漏
- 21. Java內存泄漏
- 22. 這是可能的內存泄漏嗎?
- 23. Java堆內存
- 24. 使用UIReferenceLibraryViewController是否有內存泄漏?
- 25. ,因爲資源的內存Java堆空間問題的泄漏
- 26. 是否存在NSCFTimer內存泄漏?
- 27. 是否正在分配多餘的內存,是否存在內存泄漏?
- 28. Java在釋放線程時泄漏堆內存
- 29. 從Java進程獲取堆轉儲以調試內存泄漏
- 30. 如何在java中查找非堆空間內存泄漏?
是的。除了通過Java堆以外,JVM可以消耗內存的方式有很多種。例如,默認情況下每個線程的堆棧佔用2Mb。如果你描述你看到的問題,也許有人會幫你解決它們。 – kdgregory
這實際上是一個更普遍的問題。我與一些Java開發人員進行了一次電話會議,我建議內存泄漏可能會超出堆的系統內存,而項目的高級開發人員告訴我這是不可能的。我不同意這是不可能的,但我不知道具體情況,我相信我已經看到它發生在過去。 – GL2014