slab内存管理
2017-02-08 14:31:42 0 举报
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 条评论
下一页