Memcached 内存管理机制原理

早期的Memcached 内存管理方式是通过malloc 的分配的内存,使用完后通过free 来回收内存, 这种方式容易产生内存碎片,并降低操作系统对内存的管理效率。加重操作系统内存管理器的负担,最坏的情况下, 会导致操作系统比memcached 进程本身还慢,为了解决这个问题, Slab Allocation 内存分配机制
就延生了。

现在Memcached 利用Slab Allocation 机制来分配和管理内存。

Slab
Allocation 机制原理是按照预先规定的大小,将分配给memcached 的内存分割成特定长度的内存块( chunk),再把尺寸相同的内存块, 分成组(chunks slab class),这些内存块不会释放, 可以重复利用。
而且,slab allocator 还有重复使用已分配的内存的目的。也就是说,分配到的内存不会释放,而是重复利用。

Slab Allocation 的主要术语

Page
分配给Slab 的内存空间,默认是1MB。分配给Slab 之后根据slab 的大小切分成chunk。
Chunk
用于缓存记录的内存空间。
SlabClass
特定大小的chunk 的组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值