深入Memcache内部(二)-slab内存分配

来源:互联网 发布:雷欧奥特曼mac队员 编辑:程序博客网 时间:2024/05/16 12:39

1.slab内存结构图:二维数组链表

slab是一次申请内存的最小单位



2.slab内存分配实例


3.实例数据

                

4.计算slab占用内存



5.slab参数

进程内存区
slabclass元信息:1.1中是21byte,1.2中是200byte
Hashtable:1.1中位41MB,1.2中位65MB


数据内存区
slab默认大小为1048576byte(1MB),大于1MB数据忽略
chunk初始大小,1.1中是1byte,1.2中是48byte


增长因子factor
1.1中,chunk大小为初始大小*2^n,n为classid,即:
id为0的slab大小1byte,id为1的slab大小2byte,id为2的slab大小4byte...
id为20的slab,每chunk大小为1MB,只有一个chunk
1.2中有一个factor值,默认为1.25
96,120,152...