- 准备
1.
.hprof文档
通常在OOM时会记录内存情况供分析。启动时指定jvm参数
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=D:\log\projects\donottouchme.hprof
(可选)
就见过OOM没hprof文件也没监控的,怎么死的都不知道,只能回家玩egg
2.分析工具:MAT(Eclipse Memory Analysis Tools)免费。下载可能需要梯子。
- 分析
1.导入hprof文件
2.根据软件提示找出异常内存的对象和线程
3.根据情况改进,可能是框架使用姿势错误,或者代码需要优化,亦可能根本就是内存太小需要换电脑。