首先,要区分两个概念:物理CPU和逻辑CPU。缓存
物理CPU就是服务器上实际安装的CPU。可是一个物理CPU能够有多个核。例如,一个 i5 760 是双核,而一个 i5 2250 是四核。若是开启了Intel的超线程技术(HT),还能够在逻辑上再分出一倍的核出来。也就是:服务器
逻辑CPU数量 = 物理CPU数量 x CPU核数。若是开启了HT,再 x 2.ui
那么,如何查看这些信息?线程
Linux下,经过查看 /proc/cpuinfo 文件的内容就能够获得CPU的信息了。如下是一个示例:设计
这个文件存储了全部逻辑CPU的信息,在上面这个例子中,只有一个逻辑CPU。若是有多个,会产生多段相似这样的信息。blog
部分字段的意义解释:ip
processor : 逻辑CPU的编号。产品
vendor_id :CPU制造商。model
cpu family : CPU属于产品系列。sso
model : CPU属于该系列中哪一代。
model name : CPU的名字、编号和主频。
stepping : CPU的设计或制做版本。
cpu MHz : CPU的实际使用主频。
cache size : CPU二级缓存大小。
physical id : 物理CPU编号。
siblings : 当前物理CPU的逻辑CPU数量。
core id : 当前逻辑CPU所处的核的编号。core id 相同的不一样逻辑CPU是同一个核的超线程。
cpu cores : 当前物理CPU的核数。
flags : 当前CPU支持的功能。
bogomips : 在系统内核启动时粗略测算的CPU速度,单位是百万指令每秒。
address sizes : 可访问地址空间位数。
所以,
想要知道服务器的逻辑CPU个数,使用命令: cat /proc/cpuinfo | grep 'processor' | wc -l
想要知道服务器的物理CPU个数,使用命令: cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l