slab内存管理
2015-07-12 02:24:39 24 举报
Slab内存管理是一种针对内核中频繁申请和释放小块内存的高效内存管理技术。它将物理内存划分为多个大小相等的块,每个块称为一个slab。当需要分配内存时,首先查找是否已经存在合适大小的空闲slab,如果存在则直接分配,否则会触发slab分配器从物理内存中申请一个新的slab。释放内存时,将slab返回给slab分配器,如果该slab未完全使用,则合并到相邻的slab中以减少碎片化。Slab内存管理可以有效降低内存碎片率,提高内存利用率,适用于大量小块内存分配的场景。
作者其他创作
大纲/内容
0
item
...
null
slabclass_t
POWER_LARGET
slabclass_t结构
1
item*
sl_curr
sl_total
void** slots空闲item内存指针数组
uint end_page_free最后一个slab尾部的空闲item数
已失效
void* end_page_ptr最后一个slab尾部的第一个空闲item指针
void** slab_list有效slab的内存指针数组
power_largest
uint killing
void*
slabclass数组
uint sizeitem大小
list_size
第一个仅占位用
end_page_free个元素尚未被分配过
uint perslab每个slab里包含的item数
slabs
0 条评论
下一页