37、Linux 内存管理深入解析

Linux 内存管理深入解析

1. 内存请求与 NUMA 感知

当一个线程在某个 CPU(如 CPU #18)的进程上下文中运行内核或驱动代码时,若请求内核分配一些 RAM,具备 NUMA 感知能力的内核内存管理(MM)层会优先从 NUMA 节点 #2 上的任何空闲 RAM 页帧中满足该请求,因为该节点离发出请求的处理器核心“最近”。若 NUMA 节点 #2 内的任何区域都没有可用的空闲页帧(这种情况不太可能),内核有智能的后备系统,可能会跨互连请求其他节点区域的 RAM 页帧。

2. 节点内的区域

区域可看作 Linux 处理硬件特性和一些软件难题的方式。在 x86 架构(Linux 起源于此)上,硬件特性问题较为常见。区域构成了物理内存层次结构的第二级,它们总是属于某个特定的节点(编号为 0、1、2 等),由物理 RAM 页帧组成。每个节点内的区域会分配一系列的页帧号(PFN)。

可以使用 lstopo 工具图形化查看系统的硬件(CPU)拓扑结构。在 Ubuntu 系统上,可通过以下命令安装:

sudo apt install hwloc

硬件拓扑图形示例可参考: https://en.wikipedia.org/wiki/CPU_cache#/media/File:Hwloc.png

通过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值