Linux系统物理CPU、逻辑CPU和CPU核数的区别

一、概念

  • 物理CPU
    服务器插槽上CPU的实际数量

  • CPU核数
    一块CPU上面能处理数据的芯片组的数量,一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术

  • 逻辑CPU
    一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT), 可以在逻辑上再分一倍数量的cpu core出来。
    逻辑CPU数量 = 物理cpu数量 x cpu cores 这个规格值 x 2(如果支持并开启HT)
    备注一下:Linux下top查看的CPU也是逻辑CPU个数

二、查看CPU信息

[root@promote ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 37
model name : Intel(R) Core(TM) i5 CPU M 520 @ 2.40GHz
stepping : 5
cpu MHz : 2394.049
cache size : 3072 KB
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes hypervisor lahf_lm ida arat dts
bogomips : 4788.09
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:

processor:包括这一逻辑处理器的唯一标识符。
vendor id:如果处理器为英特尔处理器,则字符串是 GenuineIntel。
physical id:拥有相同 physical id 的所有逻辑处理器共享同一个物理插座,每个 physical id 代表一个唯一的物理封装。如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id不同,则说明这是一个多内核处理器。
siblings:列出了位于相同物理封装中的逻辑处理器的数量,也就是一个物理CPU有几个逻辑 CPU,它们可能支持也可能不支持超线程(HT)技术,如果有两个或两个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。
core id:保存每个内核的唯一标识符,所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。
cpu cores:包含位于相同物理封装中的内核数量。”cpu cores“指的是一个物理CPU有几个核。

三、指令查看

# 查看物理CPU的个数
cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l  
2

# 查看CPU是几核(单个物理cpu核数)
cat /proc/cpuinfo | grep 'cpu cores' | sort | uniq
6

# 查看逻辑CPU的个数
cat /proc/cpuinfo | grep 'processor' | wc -l  
24

猜你喜欢

转载自blog.csdn.net/yu97271486/article/details/120270642