Linux 内核将弃用并删除 SLOB 内存分配器
2022-11-10 10:44广东深圳市奥思网络科技官方帐号
出品|开源中国
早在 Linux 2.6.23 版本,SLUB 内存分配器成为 Linux 内核的默认值。仅当 CONFIG_SLAB 标志被禁用时,内核才会回退到使用 SLOB 分配器。而据外媒 Phoronix 报道,Linux 内核开发人员正在考虑弃用并最终删除 SLOB 内存分配器。
SLOB (simple list of blocks)分配器是 Linux 内核中三个可用的内存分配器之一。另外两个是 SLAB (slab allocator) 和 SLUB(the unqueued slab allocator)。
SLOB 分配器被设计为仅需要很少的内存来实现和管理,常用于嵌入式系统等小型系统。
来自 SUSE 的 Vlastimil Babka 发送了弃用并删除 SLOB 的内核邮件,邮件中提到 SLOB、SLAB 三个内存分配器通同时维护,导致内核开发人员的负担太大。此外,SLOB 只有部分功能与分配器子集兼容,这也导致在 SLOB 功能上的开发要花费更多精力,间接阻塞了 API 的改进。
但最大的问题还是 SLOB 的适用范围太小,它最初的设计主要是面向小内存设备的分配器,通过将所有对象放在一起处理来争取最小的内存占用。这也导致其 CPU 性能成本很大(锁定、缺乏 percpu 缓存、搜索可用空间等......),而且很容易被外部碎片严重影响,导致性能问题。现在内存已经不值钱了,硬件设备最低 RAM 都得来个 128 MB,SLOB 早已经过了发力的年代。
Vlastimil 在邮件中提到的是放弃 SLOB 和 SLAB 两个内存分配器,只留下 SLUB 。到目前为止,其他上游开发人员都赞成弃用和移除 SLOB,而移除 SLAB 可能需要更多时间。在接下来的几个版本, SLOB 将会被标记为损坏或声明弃用,最终被从内核源码树中剥离。Linux 内核将弃用并删除 SLOB 内存分配器
相关阅读打开APP看更多精彩推荐
登顶全球最权威AI性能基准评测,百度飞桨给分布式训练创造了标杆
机器之心Pro
谷歌启动黑五促销:苹果iPhone用户切换到Pixel更顺畅
IT之家
苹果M芯片之后,高通也开始发力PC市场,推出定制内核Oryon
天极网
SecuritySpy 软件可将苹果 Mac 设备轻松打造成家用监控系统
IT之家
百度APP内阅读
发自「今日水木 on PBCM10」
--
FROM 117.147.21.*