生成dump文件是某一时刻的,并不是持续的

在jdk/bin目录下执行./jps找到正在运行进程号和进程名

./jmap -dump:format=b,file=dump.hprof PID      //注意生成的文件类型是hprof

dump的分析工具叫mat(MemoryAnalyzer)需要依赖jdk运行

在windows上只需要解压,然后双击MemoryAnalyzer.exe就可以;

当然可能会遇到打不开的问题,这个问题主要是MemoryAnalyzer使用的内存太小导致的,需要调整MemoryAnalyzer.ini里面的-Xmx256m调大就可以了,

在linux环境上,也是解压后直接运行的,只不过运行的命令不一样:

./ParseHeapDump.sh [FilePath] org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components

其中,[FilePath]是指dump.hprof的路径,例如:

./ParseHeapDump.sh /home/dump.hprof org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components