背景
很多开发都觉得分析堆快照查找内存泄漏、大对象等是一个比较需要技术功底的能力,但其实不然,通过IDEA就可以直接快速分析。
操作流程
- 通过idea直接打开已经找运维或自行dump好的.hprof文件
-
选中后,IDEA默认会在底部分析器tab展示解析后的快照信息,可能需要几秒钟,各自电脑硬件的配置,截图如下:
-
然后我们就可以针对这个快照进行定向分析了,比如看看业务内部类有哪些大对象,可以通过查找关键词搜索匹配(mac 通过control + F 调出搜索框),默认大小是按倒序排列,很直观的能看出有哪些大对象存在:
-
然后就可以点击大对象,选择右侧的最短路径,就可以看到该对象产生的方法栈位置,这样就可以去分析代码是否存在内存泄漏的原因了
结语
大致操作就是如此,还有很多其他分析细节,具体可以问AI,哈哈,如有疑问欢迎来骚!