天天看點

JVM快速找出耗記憶體大對象

1.找到程序号 ,使用top指令檢視應用的系統的整體負載

JVM快速找出耗記憶體大對象

load average:

 1.單核CPU, 數字在0.00-1.00之間正常

 0.00-1.00        之間的數字表示此時路況非常良好,沒有擁堵,車輛可以毫無阻礙地通過。

1.00  表示道路還算正常,但有可能會惡化并造成擁堵。此時系統已經沒有多餘的資源了,管理者需要進行優化。

1.00以上 表示路況不太好了,這種情況你必須進行檢查了。

2.多核CPU - 多車道      數字/CPU核數 在0.00-1.00之間正常

三個數字分别代表1分鐘,5分鐘,15分鐘 

KiB Mem 和KiB Swap如果沒有這兩行 鍵入m會顯示出這兩行

2.執行如下指令: jmap -histo:live 10293| head -20 檢視程序中占用資源最大的前20個對象

JVM快速找出耗記憶體大對象

3.如果還找不出來就隻有使用eclipse的MAT工具進行分析

①:使用jmap生成快照檔案

jmap -dump:live,format=b,file=a.hprof pid

②:下載下傳MAT  使用MAT打開快照檔案進行分析

如果是在程式的JVM參數中設定了

JVM快速找出耗記憶體大對象

這兩個參數可以直接 檢視OOM日志

參考文章

 https://blog.csdn.net/zhangchenglikecc/article/details/52103737

  https://www.jianshu.com/p/931384b89c4d

https://blog.csdn.net/dickzhu/article/details/84920297

繼續閱讀