在Linux系统中,可以通过多种方式来检测NUMA(Non-Uniform Memory Access)节点。以下是一些常用的方法:
使用lscpu命令:
lscpu命令可以显示CPU架构的信息,包括NUMA节点的数量和每个节点的CPU数量。运行以下命令:
lscpu | grep NUMA
输出示例:
NUMA node(s): 2
NUMA node0 CPU(s): 0,2,4,6
NUMA node1 CPU(s): 1,3,5,7
这里显示了系统有两个NUMA节点,每个节点包含四个CPU。
查看/sys文件系统:
Linux内核将NUMA相关的信息暴露在/sys文件系统中。可以通过以下命令查看NUMA节点的数量:
cat /sys/devices/system/node/available
输出示例:
0 1
这里显示了系统有两个NUMA节点(编号为0和1)。
使用numactl命令:
numactl命令可以用来查询和设置NUMA策略。运行以下命令查看NUMA节点的信息:
numactl --hardware
输出示例:
available: 2 nodes (0-1)
node 0 cpus: 0 2 4 6
node 0 size: 8192 MB
node 0 free: 7890 MB
node 1 cpus: 1 3 5 7
node 1 size: 8192 MB
node 1 free: 7900 MB
这里显示了两个NUMA节点的CPU分配和内存信息。
查看/proc文件系统:
/proc文件系统中也包含了一些NUMA相关的信息。可以通过以下命令查看NUMA节点的数量:
cat /proc/sys/kernel/numa_balancing
输出示例:
1
这里显示了NUMA平衡是否启用(1表示启用,0表示禁用)。
通过以上方法,你可以轻松地检测Linux系统中的NUMA节点及其相关信息。