我们可以用/proc/cpuinfo查看CPU的信息。该文件包含系统上每个处理器的数据段落。/proc/cpuinfo描述中有6个条目适用于多内核和超线程(HT)技术检查:processor,vendorid,physicalid,siblings,coreid和cpucores。
(1)processor:包括这一逻辑处理器的唯一标识符。
(2)physicalid:包括每个物理封装的唯一标识符。
(3)coreid:保存每个内核的唯一标识符。
(4)siblings:列出了位于相同物理封装中的逻辑处理器的数量。
(5)cpucores:包含位于相同物理封装中的内核数量。
(6)如果处理器为英特尔处理器,则vendorid条目中的字符串是GenuineIntel。
拥有相同physicalid的所有逻辑处理器共享同一个物理插座。每个physicalid代表一个唯一的物理封装。Siblings表示位于这一物理封装上的逻辑处理器的数量。逻辑处理器可能支持也可能不支持超线程(HT)技术。每个coreid均代表一个唯一的处理器内核。所有带有相同coreid的逻辑处理器均位于同一个处理器内核上。如果有一个以上逻辑处理器拥有相同的coreid和physicalid,则说明系统支持超线程(HT)技术。如果有两个或两个以上的逻辑处理器拥有相同的physicalid,但是coreid不同,则说明这是一个多内核处理器。cpucores条目也可以表示是否支持多内核。
一.i386i586i686之间的区别
他们指的是适用于inteli386、i586、i686兼容指令集的微处理器。一般来说,等级愈高的机器可接受较低等级的rpm文件。
i386—几乎所有的X86平台,不论是旧的pentum或者是新的pentum-IV与K7系统CPU,都可以正常工作,i指得是Intel兼容的CPU,至于386就是CPU的等级。
i586—就是586等级的计算机,包括pentum第一代MMXCPU,AMD的K5,K6系统CPU(socket7插脚)等CPU都是这个等级。
i686—pentum2以后的Intel系统CPU及K7以后等级的CPU都属于这个686等级。
你可以透过/proc/cpuinfo这个档案查询你的CPU等级。
二.查看CPU信息
我们可以通过/proc/cpuinfo这个文件来查看CPU的信息。
[root@qs-wgdb-1proc]#more/proc/cpuinfo
processor:0
vendor_id:GenuineIntel
cpufamily:6
model:44
modelname:Intel(R)Xeon(R)CPUE5630@2.53GHz
stepping:2
cpuMHz:2527.071
cachesize:12288KB
physicalid:1
siblings:8
coreid:0
cpucores:4
apicid:32
fpu:yes
fpu_exception:yes
cpuidlevel:11
wp:yes
flags:fpuvmedepsetscmsrpaemcecx8apicsepmtrrpgemcacmovpatpse36clflushdt
sacpimmxfxsrssesse2sshttmsyscallnxpdpe1gbrdtscplmconstant_tscidanonstop_tscaratpni
monitords_cplvmxsmxesttm2ssse3cx16xtprsse4_1sse4_2popcntlahf_lm
bogomips:5054.14
clflushsize:64
cache_alignment:64
addresssizes:40bitsphysical,48bitsvirtual
powermanagement:[8]
processor:1
vendor_id:GenuineIntel
cpufamily:6
model:44
modelname:Intel(R)Xeon(R)CPUE5630@2.53GHz
stepping:2
cpuMHz:2527.071
cachesize:12288KB
physicalid:0
siblings:8
coreid:0
cpucores:4
apicid:0
fpu:yes
fpu_exception:yes
cpuidlevel:11
wp:yes
flags:fpuvmedepsetscmsrpaemcecx8apicsepmtrrpgemcacmovpatpse36clflushdt
sacpimmxfxsrssesse2sshttmsyscallnxpdpe1gbrdtscplmconstant_tscidanonstop_tscaratpni
monitords_cplvmxsmxesttm2ssse3cx16xtprsse4_1sse4_2popcntlahf_lm
bogomips:5054.02
clflushsize:64
cache_alignment:64
addresssizes:40bitsphysical,48bitsvirtual
powermanagement:[8]
processor:2
vendor_id:GenuineIntel
cpufamily:6
model:44
modelname:Intel(R)Xeon(R)CPUE5630@2.53GHz
stepping:2
cpuMHz:2527.071
cachesize:12288KB
physicalid:1
siblings:8
coreid:1
cpucores:4
apicid:34
fpu:yes
fpu_exception:yes
cpuidlevel:11
wp:yes
flags:fpuvmedepsetscmsrpaemcecx8apicsepmtrrpgemcacmovpatpse36clflushdt
sacpimmxfxsrssesse2sshttmsyscallnxpdpe1gbrdtscplmconstant_tscidanonstop_tscaratpni
monitords_cplvmxsmxesttm2ssse3cx16xtprsse4_1sse4_2popcntlahf_lm
bogomips:5054.04
clflushsize:64
cache_alignment:64
addresssizes:40bitsphysical,48bitsvirtual
powermanagement:[8]
.
processor:14
vendor_id:GenuineIntel
cpufamily:6
model:44
modelname:Intel(R)Xeon(R)CPUE5630@2.53GHz
stepping:2
cpuMHz:2527.071
cachesize:12288KB
physicalid:1
siblings:8
coreid:10
cpucores:4
apicid:53
fpu:yes
fpu_exception:yes
cpuidlevel:11
wp:yes
flags:fpuvmedepsetscmsrpaemcecx8apicsepmtrrpgemcacmovpatpse36clflushdtsacpimmxfxsrssesse2sshttmsyscallnxpdpe1gbrdtscplmconstant_tscidanonstop_tscaratpnimonitords_cplvmxsmxesttm2ssse3cx16xtprsse4_1sse4_2popcntlahf_lm
bogomips:5054.03
clflushsize:64
cache_alignment:64
addresssizes:40bitsphysical,48bitsvirtual
powermanagement:[8]
processor:15
vendor_id:GenuineIntel
cpufamily:6
model:44
modelname:Intel(R)Xeon(R)CPUE5630@2.53GHz
stepping:2
cpuMHz:2527.071
cachesize:12288KB
physicalid:0
siblings:8
coreid:10
cpucores:4
apicid:21
fpu:yes
fpu_exception:yes
cpuidlevel:11
wp:yes
flags:fpuvmedepsetscmsrpaemcecx8apicsepmtrrpgemcacmovpatpse36clflushdtsacpimmxfxsrssesse2sshttmsyscallnxpdpe1gbrdtscplmconstant_tscidanonstop_tscaratpnimonitords_cplvmxsmxesttm2ssse3cx16xtprsse4_1sse4_2popcntlahf_lm
bogomips:5053.98
clflushsize:64
cache_alignment:64
addresssizes:40bitsphysical,48bitsvirtual
powermanagement:[8]
三.相关分析
3.1查看服务器位数
[root@qs-wgdb-1proc]#arch
x86_64
x86_64:64位系统
X86:32位系统
3.2查看CPU是否支持64bit
[root@qs-wgdb-1proc]#cat/proc/cpuinfo|grepflags|grep'lm'|wc-l
16
结果大于0,说明支持64bit计算.lm指longmode,支持lm则是64bit。
3.3逻辑CPU个数:
[root@qs-wgdb-1proc]#cat/proc/cpuinfo|grep'processor'|wc-l
16
注意:这里是逻辑CPU。就是我们在cpuinfo中看到的processor.
3.4物理CPU个数:
[root@qs-wgdb-1proc]#cat/proc/cpuinfo|grep'physicalid'|sort|uniq|wc-l
2
这里指的是物理CPU,就是我们在服务器上看到的2个CPU插槽。
3.5每个物理CPU中Core的个数:
[root@qs-wgdb-1proc]#cat/proc/cpuinfo|grep'cpucores'|wc-l
16
3.6是否为超线程:
如果有两个逻辑CPU具有相同的coreid,那么超线程是打开的。每个物理CPU中逻辑CPU(可能是core,threads或both)的个数.
[root@qs-wgdb-1proc]#cat/proc/cpuinfo|grep'siblings'
siblings:8
siblings:8
siblings:8
siblings:8
siblings:8
siblings:8
siblings:8
siblings:8
siblings:8
siblings:8
siblings:8
siblings:8
siblings:8
siblings:8
siblings:8
siblings:8
四.CPUID
CPUID是CPU生产厂家为识别不同类型的CPU,而为CPU制订的不同的单一的代码;不同厂家的CPU,其CPUID定义也是不同的;如0F24(Inter处理器)、681H(AMD处理器),根据这些数字代码即可判断CPU属于哪种类型,这就是一般意义上的CPUID。
由于计算机使用的是十六进制,因此CPUID也是以十六进制表示的。Inter处理器的CPUID一共包含四个数字,如0F24,从左至右分别表示Type(类型)、Family(系列)、Mode(型号)和Stepping(步进编号)。
从CPUID为068X的处理器开始,Inter另外增加了BrandID(品种标识)用来辅助应用程序识别CPU的类型,因此根据068XCPUID还不能正确判别Pentium和Celerom处理器。必须配合BrandID来进行细分。
AMD处理器一般分为三位,如681,从左至右分别表示为Family(系列)、Mode(型号)和Stepping(步进编号)。
Type(类型)
类型标识用来区别INTEL微处理器是用于由最终用户安装,还是由专业个人计算机系统集成商、服务公司或制作商安装;数字1标识所测试的微处理器是用于由用户安装的;数字0标识所测试的微处理器是用于由专业个人计算机系统集成商、服务公司或制作商安装的。我们通常使用的INTEL处理器类型标识都是0,0F24CPUID就属于这种类型。
Family(系列)
系列标识可用来确定处理器属于那一代产品。如6系列的INTEL处理器包括PentiumPro、PentiumII、PentiumIIXeon、PentiumIII和PentiumIIIXeon处理器。5系列(第五代)包括Pentium处理器和采用MMX技术的Pentium处理器。AMD的6系列实际指有K7系列CPU,有DURON和ATHION两大类。最新一代的INTELPentium4系列处理器(包括相同核心的Celerom处理器)的系列值为F
Mode(型号)
型号标识可用来确定处理器的制作技术以及属于该系列的第几代设计(或核心),型号与系列通常是相互配合使用的,用于确定计算机所安装的处理器是属于某系列处理器的哪种特定类型。如可确定Celerom处理器是Coppermine还是Tualutin核心;AthlonXP处理器是Paiomino还是Thorouhgbred核心。
Stepping(步进编号)
步进编号用来标识处理器的设计或制作版本,有助于控制和跟踪处理器的更改,步进还可以让最终用户更具体地识别其系统安装的处理器版本,确定微处理器的内部设计或制作特性。步进编号就好比处理器的小版本号,如CPUID为686和686A就好比WINZIP8.0和8.1的关系。步进编号和核心步进是密切联系的。如CPUID为686的PentiumIII处理器是cCO核心,而686A表示的是更新版本cD0核心。
BrandID(品种标识)
INTEL从Coppermine核心的处理器开始引入BrandID作为CPU的辅助识别手段。如我们通过BrandID可以识别出处理器究竟是Celerom还是Pentium4。
总结:
从/proc/cpuinfo这个文件,我们可以看出cpu的信息。这个有2个概念。一个是物理CPU个数和逻辑CPU个数。物理CPU就是我们在主板上卡槽看到CPU的个数。这个可以通过physicalid这个进行判断。有几个不同的physicalid就有几个物理CPU。至于逻辑CPU个数,我们可以通过processor来判断。这个比较简单。如果有2个物理封装的的CPU,有16个逻辑CPU。那么每个物理封装里面就有8个逻辑CPU。