排查oom方法


1.解決oom異常或者heap space異常,首先需要內存映像分析工具,eclipse的mat(menory analyzer tool)或者 idea的jprofiler對dump出來的堆轉存快照進行分析,重點是確認內存中的對象是否是必要的,也要線分清楚到底出現的是內存泄漏還是內存溢出;

2.如果是內存泄漏,可進一步通過工具查看泄露對象到GC Roots的引用鏈。於是就能找到泄露對象是通過怎樣的路徑與GC Roots相關聯並導致垃圾收集器無法自動回收他們的,掌握泄漏對象的信息,以及GC Roots引用鏈的信息,就可以比較准確的定位出泄露代碼的位置。

3.如果不是內存泄漏,換句話說就是內存中的對象確實都還必須存活着,那就應當檢查虛擬機的堆參數(-Xmx和-Xms),與機器物理內存對比看是否還可以調大,從代碼上檢查是否存在某些對象生命周期過長,持有狀態時間過長的情況,嘗試減少程序運行期間的內存消耗.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM