Slab - 内核用于缓存数据结构以供自己使用的内存总量(以KB为单位)。
我的问题是,如果任何一个进程创建自己的slab,那么这个slab内存会转到slab或进程的PSS部分吗?
kmalloc分配的内存会转到PSS还是slab?
答案 0 :(得分:0)
我不太确定我是否理解你的问题。 如果要使用slab分配器,可以使用以下API:
kmem_cache_t * kmem_cache_create(const char * name,size_t size,size_t 对齐,无符号长标志,void( ctor)(void ,kmem_cache_t *,unsigned long),( ctor)(void ,kmem_cache_t *,unsigned long))
void * kmem_cache_alloc(kmem_cache_t * cachep,int flags)
第一个API将为您创建一个slab分配器。 第二个用于分配内存。
kmalloc()不使用slab。