文章首发于【博客园-陈树义】,点击跳转到原文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。
除了CPU路数这个概念之外,我们还需要了解下CPU核心数和CPU线程数这两个概念。CPU核心数是指一个CPU上有几颗核心,即有几个CPU核心组。而CPU线程数是指这颗CPU能同时运行几个CPU线程,即并发线程数。
一般来说,CPU线程数大于等于CPU核心数。Intel的CPU实现了虚拟化技术,将CPU的一个物理核心虚拟成两个CPU逻辑核心。所以在Intel系列CPU中,如果它有四核,那么它可以运行的最大线程数就是8个线程。而AMD系列的CPU就没有这个虚拟化技术,所以它有几个CPU核心,就只有几个CPU线程。我的电脑使用的是Intel i7 处理器,四核心,八线程,所以打开资源管理器可以看到下面界面。在CPU使用记录那一栏可以看到一共有8个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 |
参考资料
- [1].老左博客.Linux服务器查看CPU配置信息详解 让我们看个明白 | 老左博客.[DB/OL].2017-6-28
- [2].知乎.服务器 CPU 与家用 CPU 有什么区别? - 知乎.[DB/OL].2017-6-28
- [3].知乎.英特尔 60 核 Xeon Phi 处理器和普通 PC 使用 CPU 有什么区别? - 知乎.[DB/OL].2017-6-28