3 虚拟可移动内存域
在依据可移动性组织页的技术之前,还有一个方法已经合入,那就是虚拟内存域: 。基本思想很简单:把内存分为两部分,可移动的和不可移动的 。
enum zone_type {#ifdef CONFIG_ZONE_DMAZONE_DMA,#endif#ifdef CONFIG_ZONE_DMA32ZONE_DMA32,#endifZONE_NORMAL,#ifdef CONFIG_HIGHMEMZONE_HIGHMEM,#endifZONE_MOVABLE,__MAX_NR_ZONES
};
的启用需要指定参数或者,用来指定不可移动的内存数量,指定可移动的内存大小,如果两个都指定,取不可移动内存数量较大的一个 。如果都不指定,则不启动 。
与其它内存域不同的是不关联任何物理内存范围,该域的内存取自高端内存域或者普通内存域 。用来计算每个node中的内存数量,采用的内存区域通常是每个node的最高内存域,在函数中体现 。
在对每个node分配内存时,会被平均分配到各个Node:
=/ ;
【Linux内核内存管理】在 alloc page时,如果同时指定了和,则会从内存域申请内存 。
- C/C++内存泄漏原因分析与应对方法
- 5 c语言调用Linux的sleepy函数,Linux设备驱动程序学习
- 内存管理专题04 伙伴分配器原理
- linux内核异步内存回收的另一个思路:基于冷热文件的冷热区域精准的回收冷文件页
- 内存换出和缓冲区释放
- Linux系统下QT的安装与配置
- java 运行.jnlp文件,在Linux系统上执行/打开JNLP文件的方法
- Linux基础入门知识
- Linux文件:/etc/fstab
- htpasswd linux