/ 前言 /
在讲解Mat工具之前我们先来看下几个关于Dump/文件的问题
-
Dump文件是什么
Dump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到dump文件中
-
我们拿到Dump文件有什么用的?
假如JVM因为内存溢出的原因宕机了, 而程序的日志里面并没有关于溢出所在对象的信息, 此时我们就需要通过分析Dump文件来找到问题原因
-
Dump文件怎么生成?
-
第一种
在启动JVM时指定参数
# 指定生成Dump文件的异常类型 -XX:+HeapDumpOnOutOfMemoryError # 指定Dump文件生成的位置 -XX:HeapDumpPath=/usr/local/jvm/dumps
-
第二种
如果你在启动JVM时没有指定参数, 那么可以使用第二种方式来生成Dump文件, 使用JVM自带的工具
jmap
jmap -dump:file=/usr/local/jvm/dumps/check.dump PID
PID的获取可以通过
ps
|top
指令来获取ps -ef|grep java top
-
/ 1 / 安装Mat
Mat是Eclipse的一个插件, 也可以独立运行, 所以即使你使用IDEA也可以独立使用Mat