内存分析¶
内存泄漏检测和堆分析。
概述¶
内存泄漏导致应用随时间推移消耗越来越多的 RAM,最终导致 OOM kill 和性能下降。perfetto-cli 通过分析 RSS 增长趋势来检测泄漏,并提供堆支配树分析。
命令¶
memory leak¶
通过 RSS 增长趋势分析检测内存泄漏。
选项:
| 选项 | 说明 | 默认值 |
|---|---|---|
--growth-threshold <MB/min> |
标记为泄漏的最小 RSS 增长率 | 5 |
memory heap¶
堆支配树分析 — 展示哪些对象保持了最多内存。
工作流程¶
- 运行
memory leak检查异常 RSS 增长 - 如果检测到泄漏,运行
memory heap识别保留对象 - 关注 retained size 异常大的对象
提示¶
- 对长时间 trace 降低
--growth-threshold以捕获慢速泄漏 - 堆分析需要开启堆分析功能抓取的 trace
- 使用
-f json跨多次测试追踪内存指标