转载自:http://edsionte.com/techblog/archives/4019Linux内核中基于伙伴算法实现的分区页框分配器适合大块内存的请求,它所分配的内存区是以页框为基本单位的。对于内核中小块连续内存的请求,比 如说几个字节或者几百个字节,如果依然分配一个页框来来满足该请求,那么...
分类:
系统相关 时间:
2014-07-30 20:16:24
阅读次数:
291
TCMalloc是什么?TCMalloc(Thread-CachingMalloc)与标准glibc库的malloc实现一样的功能,但是TCMalloc在效率和速度效率都比标准malloc高很多。TCMalloc是google-perftools工具中的一个(gperftools四个工具分别是:TCMalloc、heap-checker、heap-profiler和cpu-profiler),这..
分类:
数据库 时间:
2014-07-17 15:34:03
阅读次数:
421
欢迎转载opendevkit文章, 文章原始地址: http://www.opendevkit.com/?e=56 Dlmalloc是目前一个十分流行的内存分配器,其由Doug Lea从1987年开始编写,到目前为止,最新版本为2.8.3,由于其高效率等特点被广泛的使用...
分类:
移动开发 时间:
2014-07-06 18:25:07
阅读次数:
607
对于大多数开发者而言,系统的内存分配就是一个黑盒子,就是几个API的调用。有你就给我,没有我就想别的办法。实际深入进去时,才发现这个领域里也是百家争鸣,非常热闹。有操作系统层面的内存分配器(Memory Allocator),有应用程序层面的,有为实时系统设计的,有为服务程序设计的。但他们的目的确认一样的,平衡内存分配的性能和提高内存使用的效率。...
分类:
其他好文 时间:
2014-06-29 20:33:05
阅读次数:
503
在Linux中进程用结构体task_struct来管理一个进程所需的所有信息(所以一般较大,在32位机上,大约有1.7KB)。为了提高效率,Linux使用了一些卓越的技术。
通过slab分配task_struct结构
Linux创建进程迅速,正是因为slab分配器预先分配和重复使用task_struct,这样就避免了动态分配和释放所带来的资源消耗(毕竟一个task_struct较大,而...
分类:
系统相关 时间:
2014-06-15 12:15:30
阅读次数:
374
内存管理–SQLServer2005/2008/2008r2SQLServer2012以前的版本(SQL2005/2008/2008R2),有singlepageallocator和multipageallocator。也就是说,如果申请的内存是8k以内的,就会有单页分配器分配,而大于8kb的内存请求,使用multipage分配器来管理。如图所示。使用select*fro..
分类:
数据库 时间:
2014-06-10 22:38:09
阅读次数:
363
作为C++标准库相当重要的一部分,STL库提供一系列组件操作。它主要可以分为容器、迭代器、基本算法、函数对象以及内存分配器和配接器六个部分。整个STL库的代码都采用模板函数以及模板类的方式实现,具有高度的通用性。对于传统的应用程序来讲,模板库支持并且倡导一种新的编程风格,即称为泛型编程思想,以通用的...
分类:
编程语言 时间:
2014-05-29 05:00:39
阅读次数:
555
下面是标准库STL中allocator的实现
template
class allocator
: public _Allocator_base
{ // generic allocator for objects of class _Ty
public:
typedef allocator other;
typedef _Allocator_base _Mybase;
t...
分类:
其他好文 时间:
2014-05-15 05:05:57
阅读次数:
385
http://blog.csdn.net/21cnbao/article/details/7309757在我们使用ARM等嵌入式Linux系统的时候,一个头疼的问题是GPU,Camera,HDMI等都需要预留大量连续内存,这部分内存平时不用,
但是一般的做法又必须先预留着。目前,Marek Szyp...
分类:
系统相关 时间:
2014-05-08 18:12:29
阅读次数:
575
Nginx的高性能的是用很多细节来保证,epoll下的多路io异步通知,阶段细分化的异步事件驱动,那么在内存管理这一块也是用了很大心血,上一篇我们讲到了slab分配器,我们可以可以看到那是对共享内存的管理的优化。Nginx在进程内也实现了自己的内存池,目的在于减少内存碎片,减少向操作系统的申请次数,减低模块开发难度。Nginx实现的内存池实际上非常简单。...
分类:
其他好文 时间:
2014-05-08 00:37:29
阅读次数:
403