Linux内存管理原理 在用户态,内核态逻辑地址专指下文说的线性偏移前的地址Linux内核虚拟3.伙伴算法和slab分配器 16个页面RAM因为最大连续内存大小为16个页面 页面最多16个页面,所以16/2order(0)bimap有8个bit位两个页框page1 与page2组成与两个页框page ...
分类:
系统相关 时间:
2016-09-13 11:38:53
阅读次数:
181
1 引言 众所周知,操作系统使用伙伴系统管理内存,不仅会造成大量的内存碎片,同时处理效率也较低下。SLAB是一种内存管理机制,其拥有较高的处理效率,同时也 有效的避免内存碎片的产生,其核心思想是预分配。其按照SIZE对内存进行分类管理的,当申请一块大小为SIZE的内存时,分配器就从SIZE集合中分配 ...
分类:
其他好文 时间:
2016-08-08 00:57:54
阅读次数:
230
3.1 概述 内存管理涵盖了许多领域: 内存中物理内存页的管理; 分配大块内存的伙伴系统; 分配小块内存的slab、slub、slob分配器; 分配非连续内存块的vmalloc机制; 进程的地址空间。 Linux内核一般将虚拟地址空间划分为两部分:底部较大的部分用于用户进程,顶部则用于内核。虽然(在 ...
分类:
系统相关 时间:
2016-08-06 18:56:23
阅读次数:
362
__malloc_alloc_template分配器:该分配器是对malloc、realloc以及free的封装:当调用malloc和realloc申请不到内存空间的时候,会改调用oom_malloc()和oom_realloc(),这两个函数会反复调用用户传递过来的outofmemoryhandler处理函数,直到能用malloc或者realloc申请到内存为止..
分类:
其他好文 时间:
2016-07-29 19:26:58
阅读次数:
125
原文:ogre内存管理 OGRE内存分配策略相关文件及简述 OGRE提供了自己的内存分配策略,甚至为STL容器提供了新的分配策略,相关文件及简述如下: OgreMemoryAllocatedObject.h OgreMemoryAllocatedObject.cpp // 所有使用Ogre内存分配器 ...
分类:
其他好文 时间:
2016-07-10 00:59:29
阅读次数:
345
安装Redis安装非常方便,首先通过官网去下载最新版本,官网地址:http://redis.io/downloadRedis除了可以安装在Linux上还可以安装在Windows上,不过在Windows平台上的Redis并不是Redis官方支持的,它是由MicrosoftOpenTech小组开发并维护的。Redis并不依赖任何非标准数据库,也..
分类:
其他好文 时间:
2016-06-20 00:56:01
阅读次数:
199
MAX_NSBS 8192:默认的最大superblocks数量 SB_SET_SZ(MAX_NSBS / WORD_SZ):superblock set的大小,每个set32个superblcoks free_mem_g:设备上释放的总内存 max_alloc_mem_g:可以被分配的最大内存 t ...
分类:
其他好文 时间:
2016-06-16 20:01:34
阅读次数:
141
FDG: 大规模并行系统中的动态内存分配器由于需要全局同步(记账) ,导致性能急剧下降。 代码解析 1.superblock 类中包含两个变量,两个函数。默认superblock大小为2048 items[size]:存储 current:指向下一个未使用byte的索引 init(void):初始化 ...
分类:
其他好文 时间:
2016-06-14 13:38:28
阅读次数:
233
CLR垃圾回收的设计 作者: Maoni Stephens (@maoni0) - 2015 附: 关于垃圾回收的信息,可以参照本文末尾资源章节里引用的垃圾回收手册一书。 组件架构 GC包含的两个组件分别是内存分配器和垃圾收集器。内存分配器负责获取更多的内存并在适当的时候触发垃圾收集。垃圾收集器回收 ...
分类:
其他好文 时间:
2016-05-15 00:22:47
阅读次数:
238
作者: Maoni Stephens (@maoni0) - 2015 附: 关于垃圾回收的信息,可以参照本文末尾资源章节里引用的垃圾回收手册一书。 组件架构 GC包含的两个组件分别是内存分配器和垃圾收集器。内存分配器负责获取更多的内存并在适当的时候触发垃圾收集。垃圾收集器回收程序中不再使用的对象的 ...
分类:
其他好文 时间:
2016-05-14 18:47:02
阅读次数:
170