前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >slab分配器正式被弃用,slub成为分配器唯一选择

slab分配器正式被弃用,slub成为分配器唯一选择

作者头像
233333
发布2023-06-09 11:10:25
3740
发布2023-06-09 11:10:25
举报

在使用slab分配器进行内存分配时,可能会出现以下缺点:

  1. 内存碎片化。由于slab分配器需要将内存分成大小相同的块,如果分配不均衡或者对象大小不同,就容易导致内存碎片化。
  2. 性能下降。Slab分配器将内存分成不同的缓存区,每个缓存区都有自己的对象池。因此,当需要分配内存时,需要先找到合适的缓存区,再从对象池中分配。这个过程会耗费时间,并且在高负载情况下可能会成为系统瓶颈。
  3. 不支持动态调整大小。一旦一个对象池被创建,它的大小就不能再被修改。如果需要修改对象池的大小,就需要重新创建对象池,重新初始化所有的对象以及重新分配所有内存。这个过程也很耗时。
  4. 可能会出现溢出。Slab分配器在管理内存时并没有足够的容错机制,如果分配器发生错误或者缓存区满了,就会导致内存溢出。

slab分配器正式在后续linux 6.5合入主线

相较于slab分配器,slub分配器具有以下优点:

  1. 减少内存碎片化。Slub分配器避免了将内存分成大小相同的块,而是根据需要动态分配内存,减少了内存碎片化的问题。
  2. 更高效的内存管理。Slub分配器取消了缓存区的概念,使用了更加灵活的对象池管理方式。这样可以更快地进行内存分配,提高了系统的效率。
  3. 支持动态调整大小。Slub分配器支持动态调整对象池的大小,可以更加灵活地管理内存。
  4. 更好的容错机制。Slub分配器对溢出等错误有更好的容错机制,可提高系统的稳定性。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档