Memcached stats slabs 命令
stats slabs 看内存分配(slab 是固定大小的内存块)。
Key PointsMemcached 按 slab class 分组分配内存,每组存某一尺寸区间的对象。
用法
Shell
stats slabsOutput
STAT 1:chunk_size 96
STAT 1:chunks_per_page 10922
STAT 1:total_chunks 10922
STAT 1:used_chunks 5
STAT 1:free_chunks 10917Memcached splits memory into slab classes, each with fixed-size chunks (e.g. 96 bytes); objects land in the matching class. A full class allocates another page, but classes don't share memory — the classic source of internal fragmentation.
With highly varied value sizes you can see 'evictions while total memory isn't full' — one class is full while others are empty. Keep value sizes reasonable and avoid huge keys.
用法
Shell
stats slabsOutput
STAT 1:chunk_size 96
STAT 1:chunks_per_page 10922
STAT 1:total_chunks 10922
STAT 1:used_chunks 5
STAT 1:free_chunks 10917Memcached 把内存分成若干 slab class,每个 class 的 chunk 尺寸固定(如 96 字节),对象按大小落到对应 class。一个 class 的 chunk 用满会再申请整页,但不同 class 之间内存不共享——这是典型的「内存碎片化」来源。
如果存的对象尺寸高度不均,可能出现「总内存没满却频繁 evict」——因为某个 class 满了而别的 class 还很空。合理设计 value 尺寸、避免超大 key 能缓解这个问题。