我有一個問題和日食JVM。看起來我們有內存泄漏
我有以下VisualVM的屏幕:
[1] http://imgur.com/gcMAUBs 「堆」
[2] http://imgur.com/1ET1JBn 「終身教授」用盡堆/終身空間
我們currenlty已在XMS設置爲-Xms512m -Xmx1024m
堆將會填滿,Java應用程序將凍結
有關我們可以做什麼來解決問題或解決問題的任何建議?
我有一個問題和日食JVM。看起來我們有內存泄漏
我有以下VisualVM的屏幕:
[1] http://imgur.com/gcMAUBs 「堆」
[2] http://imgur.com/1ET1JBn 「終身教授」用盡堆/終身空間
我們currenlty已在XMS設置爲-Xms512m -Xmx1024m
堆將會填滿,Java應用程序將凍結
有關我們可以做什麼來解決問題或解決問題的任何建議?
有很多方法可以檢查分配的對象。然而根據我的經驗,這總會讓你陷入幻想問題,並且可能需要幾天或幾周的時間。
我認爲通常解決這個問題的最好方法是簡單地嘗試禁用部分功能並查看泄漏何時消失。就如此容易。
也許這聽起來太低技術了,但我對這種調試方式有很好的經驗。
如果您不能輕鬆禁用某些功能,則可以使用一種變體:改爲調用該函數10x,查看內存泄漏是否加速。
如果您使用大量內存並面臨內存泄漏,那麼我會建議您檢查您的ArrayLists或HashMaps。
他們可能是真正的罪魁禍首!
使用yourkit或jprofiler查看您正在泄漏的內容。 – bmargulies
謝謝!我會研究他們 – Tranith