Facebook 开源了一整套重要的 Linux 内核组件与工具!
近日,Facebook 开源了一套解决重要计算集群管理问题的 Linux 内核组件和相关工具,这些项目覆盖了资源控制、资源利用、工作负载隔离、负载均衡、测量和监控等方面:BPF、Btrfs、Netconsd、Cgroup2、PSI、Oomd。
Facebook 表示这些项目现在已大规模用于其所有基础设施生产环境中,并用于其它许多企业组织的环境中。
BPF
BPF 是 Linux 内核中一种高度灵活、高效率的代码执行引擎,可以让字节码在各个 hook 点运行,以使用自定义代码。虽然 BPF 已广泛用于数据包过滤,但是 BPF 的指令集具有很强的通用性和灵活性,足以支持和允许除网络之外的众多使用场合,比如跟踪和安全(比如沙箱)。
https://facebookmicrosites.github.io/bpf/
Btrfs 是下一代文件系统,它以当下的数据中心为基础。它是一个写时复制(CoW)文件系统,专注于高级功能实现、容错、修复和轻松管理。Btrfs 旨在解决和管理大型存储子系统,并支持快照、联机碎片整理、池化和集成的多设备支持等功能。
https://facebookmicrosites.github.io/btrfs/
Netconsd 是一个基于 UDP 的 netconsole 守护程序,为 Linux netconsole 消息提供轻量级传输。它接收并处理来自 Linux 内核的日志数据,并将其作为结构化数据提供以给生产工程师以快速识别集群中问题。
https://facebookmicrosites.github.io/netconsd/
Cgroup2 是下一代 Linux 内核机制,用于分组和构造工作负载,以及控制分配给每个组的系统资源量。它具有内存、I/O、中央处理单元等控制器,它还允许隔离工作负载,并为每个工作负载确定资源分配的优先级和配置。
https://facebookmicrosites.github.io/cgroup2/
PSI(Pressure Stall Information,压力失速信息)首次提供了一种规范,通过内存、CPU 和 I/O 这三种主要资源的新压力指标来量化资源短缺。这些压力指标与此次开源的其它内核和用户空间工具相结合,可以在智能开发和响应时检测资源短缺。PSI 统计数据为即将发生的资源短缺提供早期预警,从而实现更积极主动、细致的响应。
https://facebookmicrosites.github.io/psi/
Oomd 是一个用户空间 OOM(内存不足)进程杀手,可以更好地了解系统上运行的进程的上下文和优先级。它允许配置对 OOM 条件的响应,例如暂停或终止非必需项、重新分配系统中的内存等操作。
https://facebookmicrosites.github.io/oomd/
详情信息查看发布公告与对应项目的开源主页。
Facebook 开源了一整套重要的 Linux 内核组件与工具!相关推荐
- Facebook 开源了一整套重要的 Linux 内核组件与工具!
近日,Facebook 开源了一套解决重要计算集群管理问题的 Linux 内核组件和相关工具,这些项目覆盖了资源控制.资源利用.工作负载隔离.负载均衡.测量和监控等方面:BPF.Btrfs.Netco ...
- Facebook开源Linux内核组件和工具:BPF、Btrfs、Netconsd、Cgroup2、PSI、Oomd
内容摘要: 作者:Tejun Heo(Facebook的软件工程师)和Thomas Connally. Facebook工程文化的一个组成部分始终是我们的开发团队致力于开发开源解决方案,以解决实际的生 ...
- linux内核关系绘图工具_Linux中的绘图工具
linux内核关系绘图工具 如果您是像我这样的大型开源狂热者,您可能会经常遇到有关专有工具的开源替代品的问题. 从"替代方案到Microsoft®Visio®"部门,这里有三个技巧 ...
- Linux内核内存检测工具KASAN
KASAN ['kæzən] KASAN 是 Kernel Address Sanitizer 的缩写,它是一个动态检测内存错误的工具,主要功能是检查内存越界访问和使用已释放的内存等问题.KASAN ...
- Linux内核死锁检测工具——Lockdep
文章目录 前言 配置内核 简单的AB-BA死锁案例 实际项目中的死锁 前言 死锁是指两个或多个进程因争夺资源而造成的互相等待的现象,如进程A需要资源X,进程B需要资源Y,而双方都掌握对方所需要的资源, ...
- Linux 内核调试必备工具
必备工具集 trace perf 对linux系统的优化非常有帮助,有时间可以仔细研究下,首先开个头记录下 关键是可以使用python3 脚本 对系统的数据采样之后进行数据分析,虽然目前还不会对系统的 ...
- linux内核组件分析之--设备驱动模型之bus
前面我们分析了设备驱动模型中的device和driver,device和driver本来是不相关的东西,只因为bus的存在,才被联系到了一起.本节就来看看设备驱动模型中起枢纽作用的bus.本节的头文件 ...
- 搭建Linux内核代码浏览工具LXR
简介 LXR 是一个通用的源代码索引器和交叉引用器 它提供了一个基于 web 的可浏览任意定义以及任意标识的用法. 它支持很多种语言.在linux平台下,一款非常好用的源代码浏览工具.废话不多说,下面 ...
- 明尼苏达大学研究团队道歉,Linux内核维护人员:拒绝
丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 上周,明尼苏达大学因提交"垃圾代码"做漏洞分析,被Linux内核社区拉黑一事,在网上吵得沸沸扬扬. 很快,明尼苏达大学研 ...
最新文章
- 利用Gephi软件绘制网络图
- java解析kafkaavro_如何使用Spring Kafka读取合并模式注册的AVRO消息?
- 了解AdvStringGrid
- SQL——将表中的最大ID+1插入新的ID中------Insert into 表 MAX(表id) +1
- JVM的标配参数和X参数
- myeclipse使用太卡问题
- 最短路模板:dij,spfa与floyd
- 拓扑排序和关键路径课程设计
- Leedcode1-求树的最小高度
- VBA打开TXT类文件读写相关操作代码
- 2维数组 qt_Qt编写地图综合应用11-动态添加
- hashmap value占用空间大小_如何获取 java hashmap占用存储空间空间大小
- 遗传算法 python_Python实现入门级遗传算法
- Cadence OrCAD Capture交叉参考报表生成方法图文教程
- 写作素材分类整理技巧分享
- Thread.currentThread()方法 Runnable
- 高德地图API 添加标点 自定义标点
- 3dsmax 2022 图文安装教程
- 华为 HCIE 2.0(云服务)-- 云上可扩展性设计实验
- iOS 越狱开发那些事儿之二
热门文章
- python笔记基础
- python字典按value逆序排序_python 对字典按照value进行排序的方法
- windows10下使用wget命令(安装失败,请大家提意见)
- Python基础总结(3)
- 目标检测--Wide-Residual-Inception Networks for Real-time Object Detection
- debian/ubuntu 上安装和使用 Emacs
- 报错解决:ResourceExhaustedError: OOM when allocating tensor with shape
- maven打jar包,导入本地jar
- Spring boot 文件上传大小限制
- C++_可变参数模板到emplace_back再到construct再到forward