RK3399平台开发系列讲解(内存篇)18.11、Slab、Slub、Slob的区别

举报
内核笔记 发表于 2021/06/08 23:44:37 2021/06/08
【摘要】 平台 内核版本 安卓版本 RK3399 Linux4.4 Android7.1 文章目录 (1)Slob Slob主要为小型的嵌入式系统设计,数据结构相对于Slab来说比较简单,不会占用太多内存。 (2)Slub Slub可以说是Slab的升级版,Slab有很多优点,但是同样存在不足之处: ①在 S...

在这里插入图片描述

平台 内核版本 安卓版本
RK3399 Linux4.4 Android7.1

文章目录

(1)Slob
Slob主要为小型的嵌入式系统设计,数据结构相对于Slab来说比较简单,不会占用太多内存。

(2)Slub
Slub可以说是Slab的升级版,Slab有很多优点,但是同样存在不足之处:
①在 Slab 分配器中存在众多的队列,例如针对处理器的本地对象缓存队列,Slab中空闲对象队列,每个 Slab处于一个特定状态的队列中,甚至缓冲区控制结构也处于一个队列之中。有效地管理这些不同的队列是一件费力且复杂的工作。
Slab管理数据和队列的存储开销比较大。为了使得对象在硬件高速缓存中对齐和使用着色策略,还必须浪费额外的内存。同时,缓冲区针对节点和处理器的队列也会浪费不少内存。
③缓冲区内存回收比较复杂。
④冗余的 Partial 队列。SLAB 分配器针对每个节点都有一个 <

文章来源: xuesong.blog.csdn.net,作者:内核笔记,版权归原作者所有,如需转载,请联系作者。

原文链接:xuesong.blog.csdn.net/article/details/116810776

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。