slab内存管理
2016-04-02 18:24:29 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 条评论
下一页