测试同学在管理后台上传一张3M的图片时,发现界面停留在卡死的状态,就喊我排查下。听到这个后首先要做的就是看这个管理后台服务的日志。
从日志里清楚的看到,居然是可恶的堆内存溢出。
排查堆内存溢出过程
还好我们jvm的启动参数里有配置在发生OOM时dump内存快照
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/app/sc-manage/logs
我登录到OOM的这台机器把内存快照文件下载到本地,准备用MAT来分析下。
MAT是什么
MAT是一款强大的内存分析工具,如果你的开发工具是Eclipse,可以直接集成MAT插件来使用,很多人其实开发是用IntelliJ IDEA的,所以这个时候可以直接下载一个MAT来使用即可
给大家官网的下载地址:MAT下载传送门
大家选择自己的笔记本电脑的操作系统对应的版本就可以了,他是支持Windows、Mac、Linux三种操作系统的。
下载好MAT后,在他的安装目录里,可以看到一个文件名字叫做