云网牛站
所在位置:首页 > Linux新闻 > Facebook开源内核组件:BPF,Btrfs,Netconsd,Cgroup2,PSI,Oomd

Facebook开源内核组件:BPF,Btrfs,Netconsd,Cgroup2,PSI,Oomd

2018-11-02 08:47:07作者:h4cd稿源:linux站

Facebook 开源了一些重要的 Linux 内核组件和工具,它们分别是 BPF、Btrfs、Netconsd、Cgroup2、PSI、Oomd,以下将对这些开源项目进行简介,这些开源项目是一整套解决重要计算集群管理问题的 Linux 内核组件和相关工具,覆盖了资源控制、资源利用、工作负载隔离、负载均衡、测量和监控等方面。

Facebook开源内核组件:BPF,Btrfs,Netconsd,Cgroup2,PSI,Oomd

 

一、BPF

Facebook开源内核组件:BPF,Btrfs,Netconsd,Cgroup2,PSI,Oomd

BPF 是 Linux 内核中一种高度灵活、高效率的代码执行引擎,可以让字节码在各个 hook 点运行,以使用自定义代码。虽然 BPF 已广泛用于数据包过滤,但是 BPF 的指令集具有很强的通用性和灵活性,足以支持和允许除网络之外的众多使用场合,比如跟踪和安全(比如沙箱)。

主页地址:https://facebookmicrosites.github.io/bpf/

 

二、Btrfs

Facebook开源内核组件:BPF,Btrfs,Netconsd,Cgroup2,PSI,Oomd

Btrfs 是下一代文件系统,它以当下的数据中心为基础。它是一个写时复制(CoW)文件系统,专注于高级功能实现、容错、修复和轻松管理。Btrfs 旨在解决和管理大型存储子系统,并支持快照、联机碎片整理、池化和集成的多设备支持等功能。

主页地址:https://facebookmicrosites.github.io/btrfs/

 

三、Netconsd

Facebook开源内核组件:BPF,Btrfs,Netconsd,Cgroup2,PSI,Oomd

Netconsd 是一个基于 UDP 的 netconsole 守护程序,为 Linux netconsole 消息提供轻量级传输。它接收并处理来自 Linux 内核的日志数据,并将其作为结构化数据提供以给生产工程师以快速识别集群中问题。

主页地址:https://facebookmicrosites.github.io/netconsd/

 

四、Cgroup2

Facebook开源内核组件:BPF,Btrfs,Netconsd,Cgroup2,PSI,Oomd

Cgroup2 是下一代 Linux 内核机制,用于分组和构造工作负载,以及控制分配给每个组的系统资源量。它具有内存、I/O、中央处理单元等控制器,它还允许隔离工作负载,并为每个工作负载确定资源分配的优先级和配置。

主页地址:https://facebookmicrosites.github.io/cgroup2/

 

五、PSI

Facebook开源内核组件:BPF,Btrfs,Netconsd,Cgroup2,PSI,Oomd

PSI(Pressure Stall Information,压力失速信息)首次提供了一种规范,通过内存、CPU 和 I/O 这三种主要资源的新压力指标来量化资源短缺。这些压力指标与此次开源的其它内核和用户空间工具相结合,可以在智能开发和响应时检测资源短缺。PSI 统计数据为即将发生的资源短缺提供早期预警,从而实现更积极主动、细致的响应。

主页地址:https://facebookmicrosites.github.io/psi/

 

六、Oomd

Facebook开源内核组件:BPF,Btrfs,Netconsd,Cgroup2,PSI,Oomd

Oomd 是一个用户空间 OOM(内存不足)进程杀手,可以更好地了解系统上运行的进程的上下文和优先级。它允许配置对 OOM 条件的响应,例如暂停或终止非必需项、重新分配系统中的内存等操作。

主页地址:https://facebookmicrosites.github.io/oomd/

 

结语

BPF、Btrfs、Netconsd、Cgroup2、PSI、Oomd 这些和 Linux 内核相关的开源组件工具已被 Facebook 大规模用于其所有基础设施生产环境中,并用于其它许多企业组织的环境中。Linux 开发者可以利用其开源特性灵活运用。

 

相关主题

Facebook致力于人工智能,将开源PyTorch 1.0 AI框架

精选文章
热门文章