A.1#【内存管理】——1.1.1 node:struct pglist_data(pg_data_t)

 

3 存储节点Node

node 详细讲解

为了支持NUMA模型,Linux系统把物理内存划分为多个Node,内核中通过pg_data_t来描述一个Node每个Node关联到一个处理器

对于PC、手机这种采用UMA模型的机器来说,系统只有一个全局的Nodecontig_page_data。

在分配一个页面时,Linux采用节点局部分配的策略,从最靠近运行中的CPU的节点分配内存,

由于进程往往是在同一个CUP上运行,因此从当前节点得到的内存最可能被用到

it is likely the memory from the current node will be used)。

3.1  pglist_data(pg_data_t)数据结构


[include/linux/mmzone.h]
node的数据结构为pglist_data, 每一个node对应一个struct pglist_data.;

每个节点都由pg_data_t描述,而pg_data_t 由struct pglist_data 定义而来。
pg_data_t的数据结构:参看相关章节

在linux环境中我们可以使用numactl命令查看Node中的cpu和内存,以及各个node之间的distance

numactl --hardware

available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23
node 0 size: 131037 MB
node 0 free: 3019 MB
node 1 cpus: 8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31
node 1 size: 131071 MB
node

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值