Linux环境CPU个数、核数、线程数概念

相关概念

  • 物理CPU总核数 = 逻辑CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数(没有超线程时)。
  • 逻辑CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数(有超线程时)。
  • 物理CPU个数:就是服务器主板插了几个物理CPU。
  • 物理CPU核数:每个CPU的核数都是固定的,比如你的计算机有两个物理CPU,每个CPU是双核,那么计算机就是四核的。
  • 超线程数
    • 超线程技术出现之前,物理CPU核数与线程数是1:1对应的,一个四核CPU拥有四个线程,总的逻辑CPU核心数就等于1*4=4;
    • Intel引入超线程技术后,物理CPU核数和线程数就是1:x的关系,一个四核CPU拥有八个线程(就是1:2),总的逻辑CPU核心数就等于1*4*2=8。

相关命令

[root@test ~]# lscpu 
Architecture:          x86_64			# CPU架构
CPU(s):                48			# 逻辑CPU个数
On-line CPU(s) list:   0-47			# 在线的CPU数量,有时为了省电或者CPU过热,某些CPU会停止运行
Thread(s) per core:    2			# 每个核心的线程数是2
Core(s) per socket:    12			# 每颗CPU的核数是12
# PS:共2颗CPU,单颗CPU是12核,每个核的线程数是2,那总的逻辑CPU核数就是48=2*12*2

# 查看物理CPU的个数。
[root@test ~]# grep "physical id" /proc/cpuinfo | sort -u | wc -l
2
# 查看每个CPU的核数
[root@test ~]# grep "cpu cores" /proc/cpuinfo | sort -u
cpu cores	: 12
# 查看逻辑CPU总核数。
[root@test ~]# grep "processor" /proc/cpuinfo | sort -u |  wc -l
48
# 查看CPU的型号
[root@test ~]# grep "name" /proc/cpuinfo | cut -f2 -d: | uniq -c
     48  Intel(R) Xeon(R) Silver 4214 CPU @ 2.20GHz
# 查看CPU运行模式。
[root@test ~]# getconf LONG_BIT
64
# 查看CPU是否支持64-bit
[root@test ~]# grep "flags" /proc/cpuinfo | grep "lm" | wc -l		# 结果大于0就代表支持64-bit



写作不易,转载请注明出处,谢谢~~

posted @ 2019-08-05 15:29  loosenc  阅读(1077)  评论(0编辑  收藏  举报