Facebook 开源 oomd,一种处理内存溢出的新方法
近日,在 Facebook 的网站上,该公司的开发者 Daniel Xu 宣布在 GPLv2 许可证下开源oomd。oomd 是用户空间内存溢出杀手(OOM Killer),它在最近关于块 I/O 延迟控制器的文章中有被提及到。当内存不足时,内存溢出杀手会杀掉一些进程,它的主要任务是保护内核,因此应用程序可能会受到影响。相比传统的 Linux 内存溢出杀手,oomd 会全面监视系统,评估系统是否处于不可恢复的工作负荷下。在系统的 OOM Killer 作用前,oomd 会在用户空间采取纠正措施。 Facebook 表示,它们的基础设施已经发展到包含新闻信息流、Messenger、Instagram、WhatsApp、Oculus以及其他一系列产品。这些产品和它们背后的系统运行于分布在多个地理分布式数据中心的数百万台服务器上。随着基础设施规模不断扩大,Facebook 的机器和网络越来越多地跨越多代,这种多代生产环境的一个副作用是新的软件版本或配置更改可能导致系统在一台计算机上运行正常但在另一台计算机上遇到内存溢出(OOM)问题。传统的 Linux 内存溢出杀手在某些情况下运行良好,但在...
