打印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