1、今天在查看服務器時候,發現內存使用率直接就到99%了,服務器
2、用ps -uaxw查看一下,每一個佔用內存較多的進程狀況:函數
三,挑出可疑的進程,生成dump文件:工具
jmap -dump:format=b,file=jmap.hprof pid測試
4、導入到MAT中進行分析orm
MAT本地安裝的工具,JDK版本1.8以上版本,對象
5、對dump文件的分析blog
主要看內存泄漏可疑點的問題,查看引用的類,須要開發配合調優(畢竟開發對本身寫的函數類都比較熟悉),通常若是是loaded by <system class loader>都沒得問題,做爲測試如何對dump文件進行分析呢,能夠採用對比法,就是截取兩個時間段的dump文件(內存有增加變化的),經過對比分析兩個文件的對象,經過對比後的結果能夠很方便定位內存泄露,MAT同時打開兩個堆轉儲文件,分別打開Histogram,經過以下圖,進行dump文件的對比:進程