Slab是一个内存块,它是memcached一次申请内存的最小单位。在启动memcached的时候一般会使用参数-m指定其可用内存,但是并不是在启动的那一刻所有的内存就全部分配出去了,只有在需要的时候才会去申请,而且每次申请一定是一个slab。Slab的大小固定为1M(1048576 Byte),一个slab由若干个大小相等的chunk组成。每个chunk中都保存了一个item结构体、一对key和value。
虽然在同一个slab中chunk的大小相等的,但是在不同的slab中chunk的大小并不一定相等,在memcached中按照chunk的大小不同,可以把slab分为很多种类(class)。在启动memcached的时候可以通过-vv来查看slab的种类
本文介绍了Memcached内存管理的基本单位——slab的概念及其工作原理。slab作为最小内存分配单元,大小固定为1MB,并由多个等大的chunk组成。每个chunk包含一个item结构体及对应的key-value对。Memcached根据不同chunk大小将slab划分为不同类别。
8263

被折叠的 条评论
为什么被折叠?



