slab内存管理
2016-02-25 21:25:42 1 举报
Slab内存管理是一种针对Linux内核中常用的小对象(如缓存、进程描述符等)的内存管理技术。它将内存划分为多个固定大小的区域(称为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 条评论
下一页