简单理解Memcached的Slab Allocation
来源:互联网 发布:软件著作权抵扣税 编辑:程序博客网 时间:2024/05/22 12:51
简单理解Memcached的Slab Allocation包含如下内容:
- Slab Allocation
- Growth Factor
- Slab Allocation的缺点
slab Allocation
Slab Allocation的原理——将分配的内存分割成各种尺寸的块(chunk), 并把尺寸相同的块分成组(chunk的集合),每个chunk集合被称为slab。
Memcached的内存分配以Page为单位,Page默认值为1M,可以在启动时通过-I参数来指定。
Slab是由多个Page组成的,Page按照指定大小切割成多个chunk。其结构图如下:
Growth Factor
memcached在启动时通过-f选项可以指定 Growth Factor因子。该值控制slab之间的差异,chunk大小的差异。默认值为1.25。
通过memcached-tool查看指定memcached实例的不同slab状态,可以看到各Item所占大小(chunk大小)差距为1.25
Slab Allocation的缺点
Slab Allocation可以有效的解决内存碎片问题,但是在如下情况下,会导致内存的浪费:
- 每个slab的chunk大小是固定的,当item的占用空间实际小于chunk大小时,会出现内存浪费
- 每个slab的大小是固定的(因为page是固定的),当slab不能被他所拥有的chunk整除时,会出现内存浪费
- 按照Growth Factor因子生成指定大小的slab,而某slab id根本未被使用时,会出现内存浪费
参考资料
memcached全面剖析–2.理解memcached的内存存储
Memcache内存分配策略
Memcached二三事儿
转载:http://www.xiaoxiaozi.com/2013/04/29/2432/
0 0
- 简单理解Memcached的Slab Allocation
- 简单理解Memcached的Slab Allocation
- 简单理解Memcached的Slab Allocation
- 简单理解Memcached的Slab Allocation
- Memcached的item和slab
- slab 着色的理解
- slab 着色的理解
- MEMCACHED(3) SLAB内存池
- memcached-内存管理机制slab allocator
- slab着色理解
- memcached之理解memcached的内存存储
- memcached之理解memcached的内存存储
- [Memcached]理解 Memcached 的内存存储
- Memcached(3)-------Memcached的内存存储理解
- memcached-2-理解memcached的内存存储
- Memcached的简单使用
- memcached源码分析-----slab automove和slab rebalance
- 分布式缓存系统Memcached(六)——slab和item的主要操作
- C++连接MYSQL数据库
- C语言学习---数据
- Ubuntu 12.10 安装运行 Office 2010
- UICollectionView基础
- mysql数据库报错:[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exi
- 简单理解Memcached的Slab Allocation
- 类成员函数中const的使用
- extjs 弹出窗口
- Shell整理(持续更新中)
- Paint Fence
- 实现智能指针
- Android小程序——乐学成语实现(一)
- 从自定义AlertDialog中获取EditText中的文本解决办法
- const用法详解