CPU 核心未显示或者被禁用?

CPU 核心未显示或者被禁用?

我有几台在 Ubuntu 18.04 上配备双 E5-2680 v2 CPU 的服务器。每个 E5-2680 v2 都有 10 个物理核心或 20 个线程。话虽如此,运行“cat /proc/cpuinfo | grep 处理器 | wc -l”应该会显示 40。

但是,有些服务器只显示 20。对于这些服务器,命令的输出

cat /proc/cpuinfo | grep "physical id"

physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1

user@hostname:~# lscpu

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              20
On-line CPU(s) list: 0-19
Thread(s) per core:  1
Core(s) per socket:  10
Socket(s):           2
NUMA node(s):        2
Vendor ID:           GenuineIntel
CPU family:          6
Model:               62
Model name:          Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
Stepping:            4
CPU MHz:             1200.814
CPU max MHz:         3600.0000
CPU min MHz:         1200.0000
BogoMIPS:            5600.17
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            25600K
NUMA node0 CPU(s):   0-9
NUMA node1 CPU(s):   10-19
Flags:               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 pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts flush_l1d

你知道是什么原因导致这个问题吗?谢谢。

答案1

由于您看到两个不同的物理 ID,因此两个 CPU 似乎都已启用。

但是,如果在系统设置(即“BIOS”)中禁用了超线程,您将只会看到每个 CPU 核心有一个“线程”,而不是两个。这会导致 /proc/cpuinfo 中显示 20 个 CPU,而不是预期的 40 个。一旦在系统设置的 CPU 配置屏幕中启用超线程,您就会在 /proc/cpuinfo 中看到 40 个 CPU。

相关内容