授权协议: 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,它将为您处理其他事情。还支持高级自定义配置。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

KOOM 的相关资讯

还没有任何资讯

KOOM 的相关博客

刚刚快手开源高性能线上内存监控方案

【公众号回复 “1024”,免费领取程序员赚钱实操经验】 大家好,我是章鱼猫。 今天给大家推荐的这个项目是「KOOM」,KOOM(Kw...

Android 开发技术周报 Issue#293

新闻 谷歌为Android TV开发者提供多种新功能 Android 11将自动填表功能整合到键盘输入建议中 谷歌宣布Android Auto即将支持更...

KOOM 的相关问答

还没有任何问答,马上提问

评论 (4)

加载中
去小黑屋去你们通通的
前天 12:22
回复
举报
写复制机制分叉子进程转储, 有没有大佬通俗的解释下
08/17 10:31
回复
举报
fork
08/17 11:35
回复
举报
fork一个进程的意思吗
08/17 19:10
回复
举报
更多评论
4 评论
14 收藏
分享
返回顶部
顶部