打印heap的概要信息,GC使用的算法,heap的配置及使用狀況java
jmap -heap pid
統計各個類的實例數目以及佔用內存,並按照內存使用量從多至少的順序排列算法
jmap -histo:live pid
把堆內存的使用狀況 dump 到文件中,live 只保存堆中的存活對象dom
jmap -dump:live,format=b,file=dump.bin pid
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/java/logs/
-XX:PrintGCDetails -Xloggc:/data/java/logs/
MAT 計算對象佔據內存分爲 Shallow heap 和 Retained heap 兩種方式eclipse
指的是當對象再也不被引用時,垃圾回收器所能回收的總內存,包括對象自身所佔據的內存,以及僅可以經過該對象引用到的其餘對象所佔據的內存日誌
MAT 包含了兩個比較重要的視圖 直方圖(histogram)和支配樹(dominator tree)code
MAT 的直方圖相似 jmap -histo 命令輸出的結果,可以展現各個類的實例數目以及這些實例的 Shallow heap 總和orm