In the other article Linux CPU topology, I explained what's NUMA and what SMP topology, here just show you a quick way to determine your system CPU topology.

Using numactl

# numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0 1 2 3
node 0 size: 16383 MB
node 0 free: 154 MB
node distances:
node   0
  0:  10

In the output above, you can tell that this server has one NUMA node, 4CPUs, 16GB memory attached to it.

Using lscpu


# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    2
Socket(s):             2
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 15
Model name:            Intel(R) Xeon(R) CPU            5160  @ 3.00GHz
Stepping:              6
CPU MHz:               1992.000
BogoMIPS:              5985.03
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
NUMA node0 CPU(s):     0-3

In the  last line of the output above, it tells 

NUMA node0 CPU(s):     0-3

INFO in sysfs

In /sys/devices/system/node

# ls /sys/devices/system/node
has_cpu  has_memory  has_normal_memory    node0  online  possible  power    uevent

In /sys/device/system/CPU

# ls /sys/devices/system/cpu 
cpu0  cpu2  cpufreq  isolated     microcode  nohz_full  online     power      uevent
cpu1  cpu3  cpuidle  kernel_max  modalias   offline    possible  present


Comments powered by CComment