2022-11-24查看服务器的cpu、核心、线程

linux 的cpu 信息及线程相关的信息储存于/proc/cpuinfo 文件中,我们可以根据名称查看。参考:https://www.cnblogs.com/yoyoblogs/p/11289981.html参考:https://baijiahao.baidu.com/s?id=1601592414830352193&wfr=spider&for=pc

背景知识

参考:https://zhuanlan.zhihu.com/p/86855590

物理 cpu 数(physical cpu)

指主板上实际插入的 cpu 硬件个数(socket)。(但是这一概念经常被泛泛的说成是 cpu 数,这很容易导致与 core 数,processor 数等概念混淆,所以此处强调是物理 cpu 数)。由于在主板上引入多个 cpu 插槽需要更复杂的硬件支持(连接不同插槽的 cpu 到内存和其他资源),通常只会在服务器上才这样做。在家用电脑中,一般主板上只会有一个 cpu 插槽。

主频 /Hz

这个表示的是CPU 内核心的时钟频率,我们可以将其理解为运算速度。

类比于人类,可以理解为,主频越高,力量越大。

image

核心(core)

一开始,每个物理 cpu 上只有一个核心(a single core),对操作系统而言,也就是同一时刻只能运行一个进程/线程。为了提高性能,cpu 厂商开始在单个物理 cpu 上增加核心(实实在在的硬件存在),也就出现了双核心 cpu(dual-core cpu)以及多核心 cpu(multiple cores),这样一个双核心 cpu 就是同一时刻能够运行两个进程/线程的。

线程 (thread)

同时多线程技术(simultaneous multithreading)和 超线程技术(hyper–threading/HT)

本质一样,是为了提高单个 core 同一时刻能够执行的多线程数的技术(充分利用单个 core 的计算能力,尽量让其“一刻也不得闲”)。simultaneous multithreading 缩写是 SMT,AMD 和其他 cpu 厂商的称呼。hyper–threading 是 Intel 的称呼,可以认为 hyper–threading 是 SMT 的一种具体技术实现。在类似技术下,产生了如下等价术语:

  • 虚拟 core:virtual core
  • 逻辑 processer:logical processor
  • 线程:thread

所以可以这样说:某款采用 SMT 技术的 4 核心 AMD cpu 提供了 8 线程同时执行的能力;某款采用 HT 技术的 2 核心 Intel cpu 提供了 4 线程同时执行的能力。

查看信息

  • cpu个数

通过physical id 记录:

grep 'physical id' /proc/cpuinfo | sort -u
# -u 相当于uniq 处理

或者直接显示计数:

grep 'physical id' /proc/cpuinfo | sort -u | wc -l
2

  • 核心数

我们可以直接查看每个物理cpu 的:

$ grep 'cpu cores' /proc/cpuinfo | sort -u
cpu cores : 24

看一下核心中的记录情况:

$ grep 'core id' /proc/cpuinfo
core id  : 0
core id  : 1
core id  : 2
core id  : 3
core id  : 4
core id  : 5
core id  : 6
core id  : 8
core id  : 10
core id  : 11
core id  : 12
core id  : 13
core id  : 16
core id  : 17
core id  : 18
core id  : 19
core id  : 20
core id  : 21
core id  : 24
core id  : 25
core id  : 26
core id  : 27
core id  : 28
core id  : 29
core id  : 0
core id  : 1
core id  : 2
core id  : 3
core id  : 4
core id  : 5
core id  : 6
core id  : 8
core id  : 9
core id  : 10
core id  : 11
core id  : 12
core id  : 13
core id  : 16
core id  : 17
core id  : 18
core id  : 19
core id  : 20
core id  : 21
core id  : 25
core id  : 26
core id  : 27
core id  : 28
core id  : 29
core id  : 0
core id  : 1
core id  : 2
core id  : 3
core id  : 4
core id  : 5
core id  : 6
core id  : 8
core id  : 10
core id  : 11
core id  : 12
core id  : 13
core id  : 16
core id  : 17
core id  : 18
core id  : 19
core id  : 20
core id  : 21
core id  : 24
core id  : 25
core id  : 26
core id  : 27
core id  : 28
core id  : 29
core id  : 0
core id  : 1
core id  : 2
core id  : 3
core id  : 4
core id  : 5
core id  : 6
core id  : 8
core id  : 9
core id  : 10
core id  : 11
core id  : 12
core id  : 13
core id  : 16
core id  : 17
core id  : 18
core id  : 19
core id  : 20
core id  : 21
core id  : 25
core id  : 26
core id  : 27
core id  : 28
core id  : 29

不难发现,core 的记录发生了重复,推测是由于physical id 设置了相同的名称,因此记录核心时就发生了重复。因此认为文件中记录的 24 核心更加准确。

  • 查看线程数

通过processor 记录:

grep 'processor' /proc/cpuinfo | sort -u | wc -l
96

可知服务器有两个cpu,每个cpu为24核心,一共48个核心,96线程,每个核心有2个线程。

  • lscpu

可以直接查看计算机的cpu信息:

Address sizes:                   46 bits physical, 48 bits virtual
CPU(s):                          96
On-line CPU(s) list:             0-95
Thread(s) per core:              2
Core(s) per socket:              24
Socket(s):                       2
NUMA node(s):                    2
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           85
Model name:                      Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz

你可能感兴趣的:(2022-11-24查看服务器的cpu、核心、线程)