Facebook开源oomd,处理内存溢出
极客时间编辑部
讲述:丁婵大小:1.11M时长:02:26
近日,在 Facebook 的网站上,该公司的开发者丹尼尔·徐(Daniel Xu)宣布,在 GPLv2 的许可证下开源 oomd。它是用户空间的内存溢出杀手(OOM Killer),当内存不足时,它会杀掉一些进程,并且允许应用程序开发者在工作负载消耗所有可用系统内存时自定义响应。
相比传统的 Linux 内存溢出杀手,oomd 会全面监视系统,评估系统是否处于不可恢复的工作负荷下。在系统的内存溢出杀手作用前,oomd 会在用户空间中采取纠正措施。
Facebook 表示,它们的基础设施已经发展到包含新闻信息流、Messenger、WhatsApp、Oculus 以及其他一系列产品,这些产品和它们背后的系统,都运行于数百万台服务器上。
随着基础设施的规模不断扩大,Facebook 的机器和网络越来越能够跨越多代,然而,这种多代生产环境有一个副作用,新的软件版本或配置更改可能导致系统在一台计算机上运行正常,但是在另一台计算机上遇到内存溢出(OOM)的问题。传统的 Linux 内存溢出杀手在某些情况下运行良好,但是在其他情况下,它启动得太晚,可能会导致系统的不确定。
因此,Facebook 开发了 oomd,这是一种更快、更可靠的解决方案,用于常见的内存溢出(OOM)情况,它可以在用户空间而不是内核空间中运行。
据介绍,Facebook 设计的 oomd 包含两个关键特性,pre-OOM 钩子(pre-OOM hooks)和自定义插件系统。在工作负载受到威胁之前,pre-OOM 钩子提供了对 OOM 的可见性。由于 OOM 检测标准可能会因为工作负载而不同,因此,插件系统支持对检测和进程的终止策略进行自定义调整。
Facebook 表示,他们的测试表明,oomd 是默认 Linux 内核内存溢出杀手的可靠而有效的替代品。他们已经在 Facebook 开发并部署了 oomd,发现它能够减少从构建服务器到机架交换机,再到共享计算资源的工作负载频率。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论