很久之前写过一个,如何用arthas查看成员变量
这次介绍一下更通用,但稍微麻烦的点的办法,使用MAT查看堆对象。
1、使用命令导出堆日志:
jmap -dump:live,format=b,file=t.hprof [pid]
2、用MAT打开t.prof文件,点击"Histogram"打开类的面板,在第一行输入要查看的类名进行筛选。右键List objects,会列出所有对象,选outgoing,然后看下图操作吧:
其他:
1、dump日志时,:live会导致一次GC,可回收的对象就不会有了,酌情选择。
2、日志一般不小,可以选择gzip命令进行一次压缩,再从服务器下载
3、此处文件名称是t.hprof,可以修改。dump日志的命令记不住,可以通过jmap -h查看帮助,里面显示了完整命令。