有了Slab的数据结构和操作方法之后,就可以创建一个指定大小的cache,然后在这个cache中申请和释放object。这个做法很适合这种应用场景:频繁地使用一固定大小的内存空间。如果只是偶尔使用某个大小的内存空间,为此新建一个cache就有点得不偿失。针对于这种应用场景,内核提供..
分类:
其他好文 时间:
2015-07-27 16:34:32
阅读次数:
121
Slab Allocation机制:整理内存以便重复使用最近的memcached默认情况下采用了名为Slab Allocator的机制分配、管理内存。 在该机制出现以前,内存的分配是通过对所有记录简单地进行malloc和free来进行的。 但是,这种方式会导致内存碎片,加重操作系统内存管理器的负担,...
分类:
系统相关 时间:
2015-07-26 00:20:06
阅读次数:
227
用户态的malloc是申请堆空间的用户态函数。可网上不少人以为malloc在内核态的调用函数是kmalloc或vmalloc,这是不对的 kmalloc是基于slab的,它在通用缓存区申请分配,通用缓存区一共26块缓存块,使用DMA和常规分...
分类:
其他好文 时间:
2015-07-24 21:04:33
阅读次数:
136
1.为什么要使用memcache
由于网站的高并发读写需求,传统的关系型数据库开始出现瓶颈,例如:
1)对数据库的高并发读写:
关系型数据库本身就是个庞然大物,处理过程非常耗时(如解析SQL语句,事务处理等)。如果对关系型数据库进行高并发读写(每秒上万次的访问),那么它是无法承受的。
2)对海量数据的处理:
对于大型的SNS网站,每天有上千万次的数据产生(如twitter, 新浪微博)...
分类:
系统相关 时间:
2015-07-24 09:19:49
阅读次数:
228
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/SLUB和SLAB的区别 首先为什么要说slub分配器,内核里小内存分配一共有三种,SLAB/SLUB/SLOB,slub分配器是slab分配器的进化版,而slob是一种精简的小内存分配算法,主要用于嵌入式系统。....
分类:
系统相关 时间:
2015-07-21 12:12:26
阅读次数:
316
上篇讲了Slab中的数据结构,这篇该讲Slab中的操作了。既然是内存管理,那操作无非就两点:allocate和free。1.申请一个object在Slab中,申请一个object是通过函数kmem_cache_alloc()来完成的。3618void*kmem_cache_alloc(structkmem_cache*cachep,gfp_tflags)
3619{
3620return_..
分类:
其他好文 时间:
2015-07-16 22:31:02
阅读次数:
273
1.memcache的slab chunk 就像公交车的坐位一样,有大小之分,还有活跃的状态。2.代码index.php -->插入数据,注意$value的大小和重复次数,跟chunk和其数量 有关connect("localhost",11211,2);$value=str_repeat("a",...
分类:
系统相关 时间:
2015-07-12 12:33:25
阅读次数:
167
前面讲的buddysystem算法,分配内存的最小单位是一个页面(例如4K)。这对于大的内存申请比较适用。可是实际生活中,Kernel经常需要分配小的内存空间,比如几十个字节,这个时候怎么办呢?不同的人可能会想到不同的解决办法。对于财大气粗的富人一族,办法很简单:申请一个页面..
分类:
其他好文 时间:
2015-07-12 00:27:06
阅读次数:
127
检测命中率是一个最基本的、最宏观的方式,使用telnet连接到memcached服务器,然后执行stats命令就可以看到宏观的一些信息。 这个命令中比较关键的属性是get_hits和get_misses,get_hits表示读取cache命中的次数,get_misses是读取失败的次数,即尝试读取不存在的缓存数据。 命中率=get_hits / (get_hits +...
分类:
系统相关 时间:
2015-06-16 23:04:44
阅读次数:
247
进程描述符中包含的数据能完整地描述一个正在执行的程序:他打开的文件,进程的地址空间,挂起的信号,进程的状态等。?1:分配进程描述符linux通过使用slab分配器分配task_struct结构,这样能够达到对象复用和缓存着色的目的。现在只需在栈底或栈顶创建一个新的结构struct thread_info结构即可。首先我们先看一下thread_info的结构:struct thread_info {...
分类:
系统相关 时间:
2015-06-16 09:20:54
阅读次数:
193