参考文章:
http://blog.csdn.net/tonyxf121/article/details/7906428
http://zhihuzeye.com/archives/2361
memcache内存分配三个重要的概念:
1.page
系统分配给slab的内存空间(对应实际的物理空间),1个page默认为1M,可以使用-I参数进行调解(default: 1mb, min: 1k, max: 128m),分配给Slab之后根据chunk的大小切分成大小相同的chunk空间,chunk用于缓存记录。
2.Chunk
为固定大小的内存空间,默认为96Byte,可以使用-n参数进行调节,默认的-f大小为1.25,即每个slab的chunk大小会以1.25倍的大小增长
3. slab class
同样大小的chunk又称为slab class。
三个重要的参数 -m -f -n
-m 分配的最大内存
-f slab class(chunk组)的增长因子
-n ( slab class 1中)chunk的初始大小
memcached -f 2 -vv命令看以看到,当增长因子为2(默认为1.25)的时候可以分配的slab class
test:~$ memcached -f 2 -vv
slab class 1: chunk size 96 perslab 10922
slab class 2: chunk size 192 perslab 5461
slab class 3: chunk size 384 perslab 2730
slab class 4: chunk size 768 perslab 1365
slab class 5: chunk size 1536 perslab 682
slab class 6: chunk size 3072 perslab 341
slab class 7: