memcached内存分配
Posted suffergtf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了memcached内存分配相关的知识,希望对你有一定的参考价值。
Memcached默认情况下采用了名为Slab Allocator的机制分配、管理内存,最大单个存储对象大小为1M。
page:分配给slab的最小内存空间,默认为1M,可以在启动时通过-l参数修改
chunk:真正用于存储的空间,由page分割而成,chunk大小,从小到大按默认1.25比例增长,最大为1m可通过-f指定。
slab:相同chunk的集合
memcache启动后,按照预先规定的大小,将分配的内存以page为单位,默认一个page为1M,分割成各种尺寸的chunk,然后将相同的块分成组slab;当数据存储时,首先查找适合的slab,然后查看该slab是否有空闲的chunk,如果有,直接存储,如果没有,则要进行申请,slab申请内存是以page为单位,无论大小为多少,申请到page后,slab会按照chunk的大小进行切分;
以上是关于memcached内存分配的主要内容,如果未能解决你的问题,请参考以下文章
memcached学习——memcached的内存分配机制Slab Allocation内存使用机制LRU常用监控记录