在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節點及其相關信息。