linux 查看CPU详情命令
一、直观查询CPU数量
逻辑CPU个数: # cat /proc/cpuinfo | grep 'processor' | wc -l
物理CPU个数: # cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l
每个物理CPU中Core的个数: # cat /proc/cpuinfo | grep 'cpu cores' | wc -l
二、查看CPU的详细信息
#cat /proc/cpuinfo
各个字段意义:
processor 逻辑处理器的id。
physical id 物理封装的处理器的id。
core id 每个核心的id。
cpu cores 位于相同物理封装的处理器中的内核数量。
siblings 位于相同物理封装的处理器中的逻辑处理器的数量。
具有相同core id的cpu是同一个core的超线程。具有相同physical id的cpu是同一颗cpu封装的线程或者cores。 如果“siblings”和“cpu cores”一致,则说明不支持超线程,或者超线程未打开。 如果“siblings”是“cpu cores”的两倍,则说明支持超线程,并且超线程已打开。 显示4个逻辑CPU,通过physical id,前面两个逻辑cpu的相同,后面两个的相同,所以有两个物理CPU。前面两个的 core id相同,后面的两个core ID相同,说明这两个CPU都是单核。也就是说两个单核cpu,启用了超线程技术。
1.拥有相同 physical id 的所有逻辑处理器共享同一个物理插座。每个 physical id 代表一个唯一的物理封装。 2.Siblings 表示位于这一物理封装上的逻辑处理器的数量。它们可能支持也可能不支持超线程(HT)技术。 3.每个 core id 均代表一个唯一的处理器内核。所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。 4.如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。 5.如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id 不同,则说明这是一个多内核处理器。cpu cores 条目也可以表示是否支持多内核。 例如,如果系统包含两个物理封装,每个封装中又包含两个支持超线程(HT)技术的处理器内核,则 /proc/cpuinfo 文件将包含此数据。(注:数据并不在表格中。)
三、计算公式
CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数
Execution Technology: 10/10 cores, 20 threads
10 cores = 10 threads(线程)
10 cores with Hyperthreading enabled = 20 threads 超线程
四、查询命令
#查询CPU的型号
[root@Ai120 ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
16 Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz
#查询物理cpu个数
[root@Ai120 iflytek]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
8
#查询每个物理CPU中core的个数(即核数)
[root@Ai120 ~]# cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores : 2
# 查看逻辑CPU的个数
[root@Ai120 ~]# cat /proc/cpuinfo| grep "processor"| wc -l
16
从上面执行的结果来看,证明我使用的cpu有2 * 8 = 16核,不支持超线程,所以有16个逻辑cpu。