Linux下查看CPU相关信息

相关概念

  • 物理CPU总核数 = 逻辑CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数 (没有超线程时)
  • 逻辑CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数 (有超线程时)
  • 物理CPU:实际上服务器插入的CPU个数,在/proc/cpuinfo文件中有几个“physical id”就代表有几个物理CPU。
  • 逻辑CPU:操作系统可以使用逻辑CPU来模拟出真实CPU的效果,在之前没有多核处理器的时候,一个CPU只有一个核,而现在有了多核技术,其效果就好像把多个CPU集中在一个CPU上。当计算机没有开启超线程时,逻辑CPU的总核数就是物理CPU的总核数。而当超线程开启后,逻辑CPU总核数数是物理CPU总核数的两倍。实际上逻辑CPU的数量就是平时称呼的几核几线程中的线程数量,在/proc/cpuinfo文件中逻辑CPU数就是processor的数量。
  • CPU核数:一块CPU上面能处理数据的芯片组的数量。通常每个CPU的核数都是固定的,比如你的计算机有两个物理CPU,每个CPU是双核,那么计算机就是四核的。把/proc/cpuinfo文件中core id后面的值都加起来就是总CPU核数。

  

/proc/cpuinfo

# 查看CPU的型号
[root@docker1 ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
      1  Intel(R) Core(TM) i5-4200M CPU @ 2.50GHz
# 查看物理CPU的个数
[root@docker1 ~]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
1
# 查看每个CPU的核数
[root@docker1 ~]# cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores	: 1
# 查看逻辑CPU的个数
[root@docker1 ~]# cat /proc/cpuinfo| grep "processor"| wc -l
1

  

lscpu

[root@docker1 ~]# lscpu 
Architecture:          x86_64            # CPU架构
CPU(s):                1                # CPU数量
On-line CPU(s) list:   0            # 在线的CPU数量,有时为了省电或者CPU过热,某些CPU会停止运行
Thread(s) per core:    1            # 每个核心的线程数
Core(s) per socket:    1             # 每个CPU有几个核心


原文地址:https://www.cnblogs.com/ccbloom/p/11302950.html