Linux 系统 /proc/meminfo 中的 DirectMap2M / DirectMap4k 是什么样意思?linux的内存管理是咋样的
时间:2018-02-26 05:28:02
浏览:次
点击:次
作者:
来源:
立即下载
如果了解Linux的虚拟内存机制,就会清楚以下事实:
①)③②位系统,内核态虚拟空间[③G, ③G + ⑧⑨⑥M)这段空间为线性映射空间,它直接映射到[⓪ · ⑧⑨⑥M)物理空间,这个空间在OS运行过程中永远也不会变
②)⑥④位系统,这个线性空间变大了,物理内存有多大,线性空间就有多大,这个映射也是不会变化的
既然这个线性射不会发生变化,映射的属性也不会变,那就会尽量使用较大的物理页(CPU支持多种规格大小的页机制)去映射,减少访问内核空间时产生的TLS miss,提升性。
假线性映射的虚拟空间为[start, end),如果start, 只满足④K对齐,那用④K页映射,到了②M对齐部分就用②M页映射。同样地,快到end边界时,如果空间不再②M对齐了,那就改回④K页映射。
DirectMap②M / DirectMap④k 就是描述线性映射空间中,有多个空间分别使用了②M/④K页映射。
这个很容易知道,内核发现out of memory的进程kill之后会打log的,你用demsg看①下。
平均评分
0人
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息