- 2
- 0
- 约4.64千字
- 约 6页
- 2017-07-05 发布于湖北
- 举报
Memcached 内存分配
/
December 2010
目录
第1 章 前言2
第2 章 slab 机制2
第3 章 启动参数2
3.1 -m 3
3.2 –M 3
3.3 –f 3
3.4 –n 3
3.5 –L3
3.6 –I3
第4 章 详细逻辑3
4.1 初始化slab class3
4.2 申请资源4
4.2.1 确认class id 4
4.2.2 申请chunk5
4.2.3 线程安全5
4.2.4 LRU 5
4.3 释放资源6
第5 章 内存分配的其它问题6
5.1 LRU 策略6
第1章 前言
文章比较短,但主要的内存分配问题已经分析的很清楚了,需要更详细了解,请顺着文
章阅读一下源代码即可。
第2章 slab 机制
slab 是Memcached 用来存放item 的一种机制,如下图所示:
slab class 可以被看做一个没有底的桶,后面我们简称为class,class 本身没有大小的概
念,只有页数,每页默认不超过1M,因此一个class 就是一个多页集合,每页里存放着chunk,
不同class 的页大小是一致的,但chunk 的大小是不一致的,默认情况下 class 1 的chunk 大
小是96 字节,class 42 的chunk 大小是1M,因此不同class 里的page 能容纳的chunk 单元
数不同,class 1 每页可以放1 万个单元,class 每页只能放1 个单元,所有class 所分配的内
存总数不能超过默认64M,也就是启动项中的-m 参数,当已经没有更多的内存可以分配的
时候,memcached 开始进行LRU 处理,淘汰已经过期的内容。
不同class 之间的chunk 大小是依据factor 来计算的,默认值是1.25,也就是下一个class
的chunk 大小是上个class 的1.25 倍。
第3章 启动参数
mamcached 中有一些与内存分配有关的参数,我们进行一下介绍。
3.1 -m
可使用内存的总大小,当达到这个值的时候,memcached 开始启用LRU 淘汰内容,默
认是64m,这是一般系统都需要设置的值。
3.2 –M
禁用LRU 机制,当内存耗尽的时候不淘汰旧内容。
3.3 –f
增长因子默认值1.25,增长因子越小class 分配的越多,增长因子设置的越大class 越少。
3.4 –n
可以被看做是chunk 的最小值,默认值是48 字节,但由于chunk 本身的数据结构也是
48 字节,所以最小chunk 大小就变成了96 字节,总是比你想分配的要大48 字节。
3.5 –L
尝试一次性申请-m 中规定的最大内存,所有未来的内存开销都基于这块内存,而不在
向系统中进行分配。
3.6 –I
每个slab page 的大小,默认是1M,最大可以设置为128M,因此chunk 的大小是在-n
与-I 参数之间依据-f 参数进行增长。
第4章 详细逻辑
4.1 初始化slab class
slabs_init(settings.maxbytes, settings.factor, preallocate);
maxbytes 等价于 –m 指定的内存分配最大值,factor 等价于-f 参数, preallocate 等价
于-L 参数,下面为初始化过程的描述
如果设置了-L 参数尝试一次性申请maxbytes 大小的内存,指针保存到全局的mem_base
变量里,未来所有内存申请实际上是从这块内存区域中调配的。
初始化slabclass,用于维护所有slab class 信息,默认情况下一次性初始化为200 个,
并且class 的最大数量也是200 个。
计算每个class 中的chunk 尺寸,计算每个page 可以容纳的chunk 数量,也就是perslab
(每页可容纳的chunk 数量),如果-I 指定的大小为1M,chunk 的尺寸为500K,那么perslab
的值是2,如果chun
您可能关注的文档
- 第五章 51并行IO 端口.ppt
- 他不是第一台电脑他却把平板电脑带进人们生活.pdf
- 第一章 1.4 信道.ppt
- 第十三章 Microsoft Word2003教程-插入篇.doc
- 同等学力申请硕士 政治学学科综合水平全国统一考试大纲和指南 jimmy part1.pdf
- 第七讲 票据法.ppt
- 三星激光彩色多功能一体机CLX-3186FN怎样在一张纸上打印多页?.pdf
- 由卓越亚马逊配送 手册(副本).pdf
- 第5章 LS-DYNA单元之离散单元、梁单元与体单元.ppt
- 手机基带电路工作原理介绍介绍.ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
原创力文档

文档评论(0)