哪里会产生内存泄漏?
实际项目中
出现现象:
- 启动闪退
- 运行一段时间宕机
内存泄漏的排查思路
- 获取堆内存快照dump文件
- 使用VisualVM去分析dump文件
- 通过查看堆信息的情况,定位内存溢出问题
1.获取堆内存快照dump文件
-
使用jmap命令获取运行中程序的dump文件
- jmap -dump:format=b,file=heap.hprof pid
-
使用vm参数获取dump文件
- -XX:+HeapDumpOnOutOfMemoryError
- -XX:HeapDumpPath=/home/app/dumps/