欢迎投稿

今日深度:

memcached内存分配机制

memcached内存分配机制


在C中,使用malloc分配内存时会产生内存碎片,即空闲零碎的空间无法利用。

Memcached中的Slab Allocator机制缓解这一问题。

\

基本原理:

按照预先规定的大小,将内存分成数个slab仓库,然后将各仓库分割成特定长度的块(chunk),并把尺寸相同的块分成组,以完全解决内存碎片问题

Memcached根据收到的数据的大小,选择最适合数据大小的slab。Memcached保存slab内空闲chunk的列表,根据该列表选择chunk,然后将数据缓存于其中。

根据缓存数据大小的变化规律,设置块之间的增长因子(Grow Factor):<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20150529/2015052910185819.jpg" alt="">

默认为1.25

www.htsjk.Com true http://www.htsjk.com/sybase/19707.html NewsArticle memcached内存分配机制 在C中,使用malloc分配内存时会产生内存碎片,即空闲零碎的空间无法利用。 Memcached中的Slab Allocator机制缓解这一问题。 基本原理: 按照预先规定的大小,将内存分...
评论暂时关闭