本文由点点点细雨原创,禁止转载。
Memcache
[root@localhost ~]# yum install libmemcached
[root@localhost ~]# yum install memcached
[root@localhost ~]# memcached -m 512 -u nobody -vv
slab class 1: chunk size ...
分类:
Web程序 时间:
2015-01-05 15:00:28
阅读次数:
208
本部分不仅仅是LDD的介绍部分, 还包括了对linux的内存模型的总结.
一句话总结
伙伴系统是基石, slab基于伙伴系统, kmalloc基于slab.
要点
?伙伴系统是对连续大内存而言, 得到的内存的单位从1个page到211 page, 解决外部碎片问题.
?Slab分配器是针对小内存而言, 从32B到128KB, 解决的是内部碎片问题, kma...
分类:
其他好文 时间:
2014-12-31 18:36:46
阅读次数:
242
一、内存分配在Memcached内存结构中有两个非常重要的概念:slab 和 chunk,我们先从下图中对这两个概念有一个感性的认识: memcached内存结构Slab是一个内存块,它是memcached一次申请内存的最小单位。在启动memcached的时候一般会使用参数-m...
分类:
系统相关 时间:
2014-12-22 21:16:08
阅读次数:
186
SquirrelMQ是一个快速的消息队列。SquirrelMQ特性:1. SquirrelMQ使用Slab内存分配算法来降低内存碎片,使用epoll来解决高并发问题。效率比redis要高,使用简单。2. 另外SquirrelMQ支持持久化,在down机的情况下也不用担心数据丢失。3. Squirre...
分类:
其他好文 时间:
2014-12-09 19:23:12
阅读次数:
346
Memcached的内存算法: 1. 传统的内存管理方式是,使用完通过malloc分配的内存后通过free来回收内存,这种方式容易产生内存碎片并降低操作系统对内存的管理效率。 2. Memcached利用slab allocation机制来分配和管理内存,它按照预先规定的大小,将分配的内存...
分类:
系统相关 时间:
2014-12-05 18:59:22
阅读次数:
200
本文目录SlabAllocation机制:整理内存以便重复使用·SlabAllocation的主要术语·在Slab中缓存记录的原理·SlabAllocator的缺点·使用GrowthFactor进行调优·查看memcached的内部状态·查看slabs的使用状况·内存存储的总结SlabAllocat...
分类:
系统相关 时间:
2014-11-24 16:54:30
阅读次数:
215
整理了一个图,基本就清楚了 slabclass是slabclass_t数组,索引有size决定。 slabclass数组中slabclass_t的size按照1.25倍依次增大,当然这个是可配的,具体这个该搞成多少,我也没有做结合业务做过实验。 slabclass_t中的size就是当前slab中每...
分类:
系统相关 时间:
2014-11-11 00:41:39
阅读次数:
376
ngx_array _t是一个顺序容器,支持达到数组容量上限时动态改变数组的大小,类似于STL中vector,具有以下特性:
下标直接索引,访问速度快
动态增长
由slab内存池统一管理分配出的内存,效率高...
分类:
编程语言 时间:
2014-10-21 15:29:35
阅读次数:
322
Linux内核-进程管理
1.进程
#内核调度的对象是线程,不是进程
#对Linux而言,线程只是特殊的进程
#进程提供两种虚拟机制:虚拟处理器、虚拟内存
#创建进程通过fork()来从父进程复制创建进程
2.进程描述符
#任务队列:双向链表(每一项都是task_struct--->进程描述符)
#Linux通过slab分配器...
分类:
系统相关 时间:
2014-10-19 14:19:49
阅读次数:
214
前几天做了个Memcached的思考,并测试了一些数据,是关于如何提高Memcached内存使用率的问题。在启动memcached的时候可以加-f参数和-n参数。-f指定各slab里面chunk大小的变化比例,默认1.25,-n指定slab里面chunk大小从多少开始。使用memcache_add(...
分类:
系统相关 时间:
2014-10-17 18:30:44
阅读次数:
231