This article gives an explanation on how to check the CPU details of a server and how to check the NUMA nodes of the server.
lscpu command will give the CPU architecture of the system including which NUMA node is mapped to which CPU as per the below output.
root@kvm-server:~# lscpuArchitecture: x86_64CPU op-mode(s): 32-bit, 64-bitByte Order: Little EndianAddress sizes: 46 bits physical, 48 bits virtualCPU(s): 48On-line CPU(s) list: 0-47Thread(s) per core: 2Core(s) per socket: 12Socket(s): 2NUMA node(s): 2Vendor ID: GenuineIntelCPU family: 6Model: 63Model name: Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHzStepping: 2CPU MHz: 1197.379CPU max MHz: 3500.0000CPU min MHz: 1200.0000BogoMIPS: 5188.09Virtualization: VT-xL1d cache: 768 KiBL1i cache: 768 KiBL2 cache: 6 MiBL3 cache: 60 MiBNUMA node0 CPU(s): 0-11,24-35NUMA node1 CPU(s): 12-23,36-47Vulnerability Gather data sampling: Not affectedVulnerability Itlb multihit: KVM: Mitigation: Split huge pagesVulnerability L1tf: Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerableVulnerability Mds: Mitigation; Clear CPU buffers; SMT vulnerableVulnerability Meltdown: Mitigation; PTIVulnerability Mmio stale data: Mitigation; Clear CPU buffers; SMT vulnerableVulnerability Retbleed: Not affectedVulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccompVulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitizationVulnerability Spectre v2: Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP conditional, RSB filling, PBRSB-eIBRS Not affectedVulnerability Srbds: Not affectedVulnerability Tsx async abort: Not affectedFlags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf p ni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe po pcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin ssbd ibrs i bpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveop t cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear flush_l1d
Please find the CPU calculation as per the above output.
Socket(s) = 2
Core(s) = 12
CPU Core(s) = 2 Sockets() * 12 Core(s) = 24
Thread(s) per core = 2
CPU(S)= 24 CPU Core(s) * 2 Thread(s) per core = 48
So, the device in total has 48 CPU's
NUMA Node: A NUMA node is a logical grouping of CPUs and the memory that is physically closest to them. Each NUMA node typically has a local memory and can access memory in other NUMA nodes, but this inter-node memory access is slower compared to accessing its own local memory.
NUMA node0 CPU(s): 0-11,24-35NUMA node1 CPU(s): 12-23,36-47
Access to memory in NUMA Node 0 is faster for CPUs in NUMA Node 0 and the same applies to NUMA Node 1.
The memory per NUMA node can be checked using the below commands,
cat /sys/devices/system/node/node0/meminfocat /sys/devices/system/node/node1/meminfo
root@kvm-server:~# cat /sys/devices/system/node/node0/meminfoNode 0 MemTotal: 98907960 kBNode 0 MemFree: 86712536 kBNode 0 MemUsed: 12195424 kBNode 0 Active: 10205908 kBNode 0 Inactive: 688228 kBNode 0 Active(anon): 8274916 kBNode 0 Inactive(anon): 320 kBNode 0 Active(file): 1930992 kBNode 0 Inactive(file): 687908 kBNode 0 Unevictable: 13040 kBNode 0 Mlocked: 13040 kBNode 0 Dirty: 700 kBNode 0 Writeback: 0 kBNode 0 FilePages: 2631244 kBNode 0 Mapped: 168316 kBNode 0 AnonPages: 8275928 kBNode 0 Shmem: 1128 kBNode 0 KernelStack: 6344 kBNode 0 PageTables: 18940 kBNode 0 NFS_Unstable: 0 kBNode 0 Bounce: 0 kBNode 0 WritebackTmp: 0 kBNode 0 KReclaimable: 164064 kBNode 0 Slab: 742720 kBNode 0 SReclaimable: 164064 kBNode 0 SUnreclaim: 578656 kBNode 0 AnonHugePages: 8194048 kBNode 0 ShmemHugePages: 0 kBNode 0 ShmemPmdMapped: 0 kBNode 0 FileHugePages: 0 kBNode 0 FilePmdMapped: 0 kBNode 0 HugePages_Total: 0Node 0 HugePages_Free: 0Node 0 HugePages_Surp: 0
v1