前言
最近在排查公司线上BUG时,发现程序报OOM异常。在线上截取好了堆栈快照,然后下载hprof文件到本地用JProfiler或MAT打开,结果发现由于hprof有4G左右,JProfiler和MAT都无法打开hprof文件。
正文
在网上找到了MAT的解决方案,就是修改MAT目录下的MemoryAnalyzer.ini配置文件,修改为下列:
-vmargs
-Xmx4g
然后再去启动MAT,发现竟然能慢慢的读取hprof。


到这里,突然想到也可以调整JProfiler的启动文件的内存大小,然后就找到了jprofiler.vmoptions,修改配置如下:
-Xmx4036m
-Xss2m
然后使用jprofiler启动hprof文件,等些许分钟之后,就启动成功了。


然后就可以用JProfiler或者MAT去愉快的分析内存溢出的问题了。
解决大容量hprof文件分析难题

本文分享了在线上BUG排查中遇到的OOM异常处理经验,针对4G左右的hprof文件无法直接用JProfiler或MAT打开的问题,提供了通过修改MemoryAnalyzer.ini和jprofiler.vmoptions文件增加内存限制的解决方案,使分析大容量hprof文件成为可能。
1583

被折叠的 条评论
为什么被折叠?



