首页 > 系统服务 > 详细

memcached 内存管理

时间:2014-11-11 00:39:32      阅读:381      评论:0      收藏:0      [点我收藏+]

整理了一个图,基本就清楚了

bubuko.com,布布扣

slabclass是slabclass_t数组,索引有size决定。

slabclass数组中slabclass_t的size按照1.25倍依次增大,当然这个是可配的,具体这个该搞成多少,我也没有做结合业务做过实验。

slabclass_t中的size就是当前slab中每个块的大小,乘以perslab一共有多少块的话就得到了每个page的大小 size* preslab,每次新分配按照page增加。

内存不够新分配一个page大小,接到slab_list后边。

slots中存放着回收的item,新分配内存需求,优先从这里获取返回。items是放在headers的那个双向链表中的——按照时间的LRU队列。

粗略的过了一遍1.2.2版本的内存管理方式,后续如果有必要细化的话再补充。

memcached 内存管理

原文:http://www.cnblogs.com/stevinwang/p/4088535.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!