高性能在线内存监控系统 KOOM

Apache 2.0
Java C/C++ 查看源码»
跨平台
2020-08-12
大东BE

KOOM——高性能在线内存监控方案

KOOM(Kwai OOM,Kill OOM)是快手性能优化团队在处理移动端 OOM 问题的过程中沉淀出的一套完整解决方案。

其中 Android Java 内存部分在 LeakCanary 的基础上进行优化,解决了在线缓存监视的性能问题,在不影响用户体验的情况下,在线采样内存并存和解析。从 2020 年春节后在快手主 APP 上线目前解决了 OOM 问题,其性能和稳定性得以改善,扛住了海量用户与设备的考验,因此决定将该项目开源以回馈社区,并欢迎大家来帮助改进。

项目背景

随着移动端业务逻辑日益复杂,4K 编解码,AR 魔表等高内存需求场景的不断扩展,OOM 问题已成为快手客户端稳定性治理的头号顽疾。在日常版本迭代过程中,间或会发生 OOM 激增,而线上环境非常复杂,仅 AB 实验就有上千种,事前预防以及事后还原都无法做到,因此急需高性能的线上内存监控方案。一期开源的 Android Java 内存监控方案,我们发现了 LeakCanary 以及美团和 UC 等发表的相关技术文章,发现了某些优化方向主要集中在内存的解析部分,而内存转储部分,一直没有方案能解决转储过程中应用冻结的问题。经过深入研究,我们发现可以利用写复制机制分叉子进程转储,满足我们的需求。

特性

高性能:KOOM 通过分叉子进程来转储 hprof 来阻止应用程序少于 100ms,它还具有高效的泄漏检测模块和快速的hprof 分析模块。

高可靠:KOOM 的性能和稳定性经受住了数亿用户和设备的测试。

少代码您只需要初始化 KOOM,它将为您处理其他事情。还支持高级自定义配置。

加载中

评论(4)

checkza154
checkza154
去小黑屋去你们通通的
九离天
九离天
fork一个进程的意思吗
幸运果
幸运果
fork
九离天
九离天
写复制机制分叉子进程转储, 有没有大佬通俗的解释下

暂无资讯

暂无问答

Android 开发技术周报 Issue#293

新闻 谷歌为Android TV开发者提供多种新功能 Android 11将自动填表功能整合到键盘输入建议中 谷歌宣布Android Auto即将支持更多的导航和数字停车应用 谷歌Pixel 5只有XL版本 搭载骁龙765G且将...

08/17 13:20
14
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部