整体思路:把机器上的快照文件下载到本地电脑,用eclipse analyzer打开它,找到是哪一行导致oom。
注:日志里看不到报错信息是因为 还没有来得及记录到日志文件,就down了。
把该文件下载到本地电脑,可以借助xftp等工具下载。
1、分析快照文件的工具建议用eclipse analyzer,而不是jdk自带的jvisualvm。jvisualvm特别占内存且功能不够强大无法定位到具体行。
eclipse analyzer的下载地址:http://www.eclipse.org/mat/downloads.php
2、解压缩后,先编辑下这个文件
因为快照文件很大,eclipse analyzer设置的大小阈值也要调成足够大。否则会打不开文件
再双击打开
导入,选择文件
耐心等待至这个页面,点finish
再耐心等待至对话框消失,出现如下界面
点击See stacktrace.,查看堆栈异常。
基本上可以定位是哪一行代码出现oom。