Linux学习总结(十四)—— 查看CPU信息

文章首发于【博客园-陈树义】,点击跳转到原文Linux学习总结(十四)—— 查看CPU信息

Linux学习总结(十四)—— 查看CPU信息

商用服务器CPU最常用的是 Intel Xeon 系列,该系列的CPU支持在主板上配置多颗CPU,以此组成集群。Xeon系列CPU型号的第一个数字代表支持的CPU路数。Xeon E3-1XXX最多支持单路,即一个主板上最多支持一个CPU。Xeon E5-2XXX最多支持双路,即一个主板最多支持两个CPU。Xeon E7-8XXX最多支持8路,即一个主板上最多支持8个CPU。

Linux学习总结(十四)—— 查看CPU信息

除了CPU路数这个概念之外,我们还需要了解下CPU核心数和CPU线程数这两个概念。CPU核心数是指一个CPU上有几颗核心,即有几个CPU核心组。而CPU线程数是指这颗CPU能同时运行几个CPU线程,即并发线程数。

Linux学习总结(十四)—— 查看CPU信息

一般来说,CPU线程数大于等于CPU核心数。Intel的CPU实现了虚拟化技术,将CPU的一个物理核心虚拟成两个CPU逻辑核心。所以在Intel系列CPU中,如果它有四核,那么它可以运行的最大线程数就是8个线程。而AMD系列的CPU就没有这个虚拟化技术,所以它有几个CPU核心,就只有几个CPU线程。我的电脑使用的是Intel i7 处理器,四核心,八线程,所以打开资源管理器可以看到下面界面。在CPU使用记录那一栏可以看到一共有8个CPU监视小窗口。

Linux学习总结(十四)—— 查看CPU信息

总结一下我们上面说到的三个概念:

概念 含义
CPU路数 一个主板最多支持的CPU个数
CPU核心数 一个CPU拥有的CPU核心组
CPU线程数 一个CPU的最大并发线程数,一般的CPU核心数的两倍

查看CPU信息命令

在Linux服务器中,查看CPU常用命令是:cat /proc/cpuinfo

下面是一台服务器上运行cpuinfo命令的输出结果,一共有16条类似的记录,我只截取了第一条和最后一条记录。下表对输出结果中的主要属性做了说明。

属性 名称
model name 处理器名称
cpu MHz 主频
cache size 处理器的缓存大小
processor 逻辑处理器编号
physical id 物理处理器编号
core id 物理处理器的核心编号
cpu cores 处理器的核心数
[publish@bj10-181 ~]$ cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 44
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
microcode   : 0x13
cpu MHz     : 2393.958
cache size  : 12288 KB
physical id : 1
siblings    : 8
core id     : 0
cpu cores   : 4
apicid      : 32
……省略无关信息

……省略中间14个核心的数据

processor   : 15
vendor_id   : GenuineIntel
cpu family  : 6
model       : 44
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
microcode   : 0x13
cpu MHz     : 2393.958
cache size  : 12288 KB
physical id : 0
siblings    : 8
core id     : 10
cpu cores   : 4
apicid      : 21
……省略无关信息

从输出可以看到pyhsicial id只有0、1两个编号,所以有两个物理CPU。cpu cores为4,表示每个物理CPU有4个核心。双路CPU,每个CPU4核心,一共有8核心,每个核心可以虚拟出两个CPU线程(逻辑CPU),所以一共会有16个逻辑CPU。processor的值是从0一直排列到15,一共16个逻辑CPU,即最大16个线程,刚好与我们的计算符合。所以这是一台双路8核心16线程的服务器。

常用命令

通过proc/cpuinfo查看自己算还是太麻烦了,通过以下命令可以直接输出服务器的物理CPU个数、物理CPU的核心数等常用信息。

含义 命令
查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
查看CPU核心数 cat /proc/cpuinfo| grep "cpu cores"| uniq
查看最大线程数(逻辑CPU个数) cat /proc/cpuinfo |grep "processor"|wc -l
查看CPU主频 cat /proc/cpuinfo |grep MHz|uniq

Linux学习总结(十四)—— 查看CPU信息

参考资料

文章首发于【博客园-陈树义】,点击跳转到原文Linux学习总结(十四)—— 查看CPU信息

上一篇:Egret入门学习日记 --- 第十九篇(书中 8.8~8.10 节 内容)


下一篇:linux磁盘管理系列-软RAID的实现