原文在这里
使用linux的朋友, 对 /proc/cpuinfo 这个文件肯定不陌生. 它是用来存储cpu硬件信息的.
信息内容分别列出了processor 0 – n 的规格。这里需要注意,如果你认为n就是真实的cpu数的话, 就大错特错了.
这里的n是最终虚拟出来的cpu数量,是逻辑cpu数量。
一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT), 可以在逻辑上再分一倍数量的cpu core出来。
因此真实cpu数量=物理cpu数量 x cpu cores 这个规格值 x 2(如果支持并开启ht)
物理cpu数量,可以数不重复的 physical id 有几个。
下面这个例子说明,服务器有一颗物理cpu,cpu的核数是4,支持ht技术。
所以最终的cpu数量是8.
[admin@transmit180 logs]$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU E5310 @ 1.60GHz
stepping : 7
cpu MHz : 1596.035
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
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 nx lm constant_tsc pni monitor ds_cpl tm2 xtpr
bogomips : 3194.26