Article / 2026/05/31
性能优化 (二十六) 线上内存监控方案
性能优化 (二十六) 线上内存监控方案 的技术笔记。
线上内存监控方案
常规方式
常规实现一
- 设定场景线上Dump:Debug.dumpHprofData()
- 超过最大内存80% 内存Dump 回传文件 MAT 手动分析
- Dump文件太大,和对象数正相关,可裁剪
- 上传失败率高、分析困难
- 配合一定策略,有一定效果
常规实现二
- LeakCanary带到线上
- 预设泄漏怀疑点
- 发现泄漏回传
- 不适合所有的情况,必须预设怀疑点
- 分析比较耗时、也容易OOM
LeakCannary定制
- 监控生命周期,onDestroy添加RefWatcher检测
- 二尺确认断定发生内存泄漏
- 分析泄漏,找引用连
- 监控组件+分析组件
- 预设怀疑点-----》》自动找怀疑点
- 分析泄漏连路慢-----------》》分析Retain size大的对象
- 分析OOM--------》》对象裁剪,不全部加载到内存
线上监控完整方案
- 待机内存、重点模块内存、OOM率
- 整体及重点模块GC次数、GC时间
- 增强的LeakCanary自动化内存泄漏分析
Giscus 未启用:请在
src/site.config.ts中配置 repoId 与 categoryId。