查看linux服务器CPU数量
首先,要区分两个概念:物理CPU和逻辑CPU。
物理CPU就是服务器上实际安装的CPU。但是一个物理CPU可以有多个核。例如,一个 i5 760 是双核,而一个 i5 2250 是四核。如果开启了Intel的超线程技术(HT),还可以在逻辑上再分出一倍的核出来。也就是:
逻辑CPU数量 = 物理CPU数量 x CPU核数。如果开启了HT,再 x 2.
那么,如何查看这些信息?
Linux下,通过查看 /proc/cpuinfo 文件的内容就可以得到CPU的信息了。以下是一个示例:
这个文件存储了所有逻辑CPU的信息,在上面这个例子中,只有一个逻辑CPU。如果有多个,会产生多段类似这样的信息。
部分字段的意义解释:
processor : 逻辑CPU的编号。
vendor_id :CPU制造商。
cpu family : CPU属于产品系列。
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