Linux内存管理5(基于6.1内核)

Linux内存管理5(基于6.1内核)---高端内存

一、内存划分


ARM 架构内存区域划分:

内存区域 用途 内存范围 特点
ZONE_DMA 供 DMA(直接内存访问)设备使用 低地址部分(通常 ≤ 1GB) 用于低延迟的设备访问内存,通常为物理内存的最底部区域,设备可直接访问。
ZONE_NORMAL 普通内存,供内核和用户空间进程使用 低于 4GB(32 位 ARM),更大范围(64 位 ARM) 用于常规的内存分配,供内核和用户空间访问,访问延迟较低。
ZONE_HIGHMEM 高端内存,内核不能直接访问的内存 超过 4GB(32 位 ARM) 需要通过额外的映射才能访问,访问延迟较高。通常在 64 位 ARM 系统中不使用。
ZONE_MOVABLE 可迁移的内存,适用于内存回收、虚拟化等场景 高端内存部分或某些特定区域 内存可以在回收时迁移到其他区域,通常用于内存管理优化和内存压力大时。
NUMA 区域 NUMA 节点的内存,适用于支持 NUMA 的多处理器系统 各个 NUMA 节点的本地内存 每个 NUMA 节点内的内存区域独立管理,跨节点访问会有较高延迟。

32 位 ARM 系统的内存区域

内存区域 内存范围 用途
ZONE_DMA 0 KB 到 1 GB 供 DMA 设备使用
ZONE_NORMAL 1 GB 到 3 GB 普通内存,供内核和用户空间进程使用
ZONE_HIGHMEM 3 GB 到 4 GB 高端内存,内核无法直接访问,需要分页映射

64 位 ARM 系统的内存区域

内存区域 内存范围 用途
ZONE_DMA 0 KB 到 1 GB 供 DMA 设备使用
ZONE_NORMAL 1 GB 到 4 GB 或更高 普通内存,供内核和用户空间进程使用
ZONE_HIGHMEM 一般不使用 在 64 位系统中,由于内核可直接访问更多内存,通常不需要此区域
ZONE_MOVABLE 根据内存管理需求划分 可迁移的内存,用于内存回收和虚拟化等场景

二、内核空间和用户空间


2.1划分内核空间和用户空间<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值