HeapDumpOnOutOfMemoryError 使用

將堆的最小值-Xms參數與最大值-Xmx參數設置爲同樣便可避免堆自動擴java

展.工具

https://my.oschina.net/xiangtao/blog/511622.net

https://my.oschina.net/13510434519/blog/850101code

http://www.javashuo.com/article/p-ykhgwqqy-ce.html對象

https://blog.csdn.net/pfnie/article/details/52766204?locationNum=13&fps=1blog

重點是確認內存中的對象是不是必要的,也就是要先分清楚究竟是出現了內存泄漏(Memory Leak)仍是內存溢出(Memory 

Overflow)。

若是是內存泄漏,可進一步經過工具查看泄漏對象到GC Roots的引用鏈。因而就能找到泄漏對象是經過怎樣的路徑與GC Roots相關

聯並致使垃圾收集器沒法自動回收它們的。掌握了泄漏對象的類型信息,以及GC Roots引用鏈的信息,就能夠比較準確地定位出泄

漏代碼的位置。


若是不存在泄漏,換句話說就是內存中的對象確實都還必須存活着,那就應當檢查虛擬機的堆參數(-Xmx與-Xms),與機器物理內

存對比看是否還能夠調大,從代碼上檢查是否存在某些對象生命週期過長、持有狀態時間過長的狀況,嘗試減小程序運行期的內存

消耗。

《深刻理解java虛擬機》生命週期

相關文章
相關標籤/搜索