技术沙龙 | 8月25日与多位资深技术大咖讨论小顺序电商实战
近日,在 Facebook 的网站上,该公司的 Daniel Xu 宣布在 GPLv2 容许证下开源 oomd。oomd 是用户空间内存溢出杀手(OOM Killer),它在最近关于块 I/O 延迟控制器的文章中有被提及到。当内存不足时,内存溢出杀手会杀掉一些进程,它的主要义务是保护内核,因此运用顺序能够会遭到影响。
用顺序能够会遭到影响。
相比传统的 Linux 内存溢出杀手,oomd 会片面监视系统,评价系统能否处于不可恢复的任务负荷下。在系统的 OOM Killer 作用前,oomd 会在用户空间采取纠正措施。
Facebook 表示,它们的基础设备曾经开展到包含旧事信息流、Messenger、Instagram、WhatsApp、Oculus以及其他一系列产品。这些产品和它们背后的系统运转于散布在多个天文散布式数据中心的数百万台效劳器上。随着基础设备规模不断扩展,Facebook 的机器和网络越来越多地跨越多代,这种多代消费环境的一个反作用是新的软件版本或配置更改能够招致系统在一台计算机上运转正常但在另一台计算机上遇到内存溢出(OOM)成绩。传统的 Linux 内存溢出杀手在某些状况下运转良好,但在其他状况下,它启动得太晚,招致系统进入不确定时期的活锁。
因此 Facebook 开发了oomd,一种更快、更牢靠的处置方案,用于常见的内存溢出(OOM)状况,它可以在用户空间而不是内核空间中运转。Facebook 设计的 oomd 包含两个关键特性:pre-OOM钩子(pre-OOM hooks)和自定义插件系统。在任务负载遭到要挟之前,pre-OOM钩子提供了对 OOM 的可见性。由于 OOM 检测标准能够因任务负载而异,因此插件系统支持对检测和进程终止策略停止自定义。
与用于内核空间内存溢出杀手的一些比照
结论
oomd 是新型的用户空间内存溢出杀手(OOM Killer),允许运用顺序开发者在任务负载消耗一切可用系统内存时自定义照应。Facebook 表示,他们的测试表明 oomd 是默许 Linux 内核内存溢出杀手的牢靠而有效的替代品。他们曾经在 Facebook 开发并部署了 oomd,发现它使自家的公司可以增加从构建效劳器到机架交流机到共享计算资源的任务负载频率。
【编辑引荐】
挨踢部落故事汇(40)汽车通讯诊断开发-率领顺序员走向理想世界
SUSE 开发者提议在 GCC 编译器中用 Python 替代 AWK
Java开发者的入门工具,你用过几个?
外媒速递:开源无效劳器四大处置方案的比拼
五年取代 Android?谷歌积极开发 Fuchsia 的真相是..
(责任编辑:admin)