[Linux] 服务器CPU信息

(1)查看CPU信息(型号)

复制代码
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

输出:可以看到有128个虚拟CPU核心,型号是后面一串

复制代码
128  Intel(R) Xeon(R) Platinum 8336C CPU @ 2.30GHz

(2)查看物理CPU个数

复制代码
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

输出:我们实验室服务器只有两个物理CPU,垃圾。

复制代码
2

(3)查看每个物理CPU中core的个数(即实际核数)

复制代码
cat /proc/cpuinfo| grep "cpu cores"| uniq

输出: 一个CPU实际核数只有32。

复制代码
cpu cores       : 32

(4)虚拟核心

输出中,显示了 CPU(s): 128,这意味着系统实际上识别到128个虚拟CPU或线程数,而不是物理CPU核心数量。这个现象通常由以下几个原因造成:

  1. 超线程技术(Hyper-Threading)

    • 处理器 Intel Xeon Platinum 8336C 支持 超线程技术(Hyper-Threading,HT)。每个物理核心可以通过 HT 支持多个线程。

    • 每个物理核心 (Core(s) per socket: 32) 可以运行 2 个线程 (Thread(s) per core: 2)。

    • 因此,2 个物理 CPU 插槽(Socket(s): 2)和每个插槽 32 个核心就提供了 32 * 2 = 64 个线程(每个物理核心有 2 个线程)。

    • 因此,在两个 CPU 插槽上,系统总共有 64 * 2 = 128 个虚拟核心(线程)。

  2. 虚拟 CPU 数量与物理核心数量的差异

    • 物理 CPU 插槽数量:2

    • 每个 CPU 插槽的核心数:32

    • 每个核心支持线程数:2(超线程)

    • 所以,系统看到的 128 个虚拟 CPU 是因为启用了超线程(Hyper-Threading),它使得每个物理核心能够处理两个独立的线程。

  3. NUMA 配置(用于CPU间数据交换的组)

    • 输出中显示有 2 个 NUMA 节点:

    • NUMA node0 CPU(s): 0-31, 64-95

    • NUMA node1 CPU(s): 32-63, 96-127

    • 这意味着两个 NUMA 节点分别使用了不同的 CPU 范围。例如,节点0包含 0-31 和 64-95 的 CPU 核心,而节点1包含 32-63 和 96-127 的 CPU 核心。NUMA 配置表示内存访问策略和 CPU 核心的关联,也对并行计算有影响,特别是在大型多线程计算中。

(5)lscpu查看一些信息(包括 cache 和 cpu)

部分输出如下:

复制代码
CPU(s):                  128
Core(s) per socket: 32
Thread(s) per core: 2
Socket(s):           2  // 这里的socke指的是实际CPU数量
L1d:                   3 MiB (64 instances)
L1i:                   2 MiB (64 instances)

其中L1d cache有64个实例,也就是说我每个物理core都有一个自己的L1d,大小都为3MiB。每个物理核心(Core)有独立的 L1d 和 L1i 缓存。两个逻辑核心(Hyper-Threading)共享同一个物理核心的 L1d 和 L1i 缓存。

相关推荐
ascarl2010几秒前
准确--k8s cgroup问题排查
java·开发语言
magic 2455 分钟前
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
java
Gaoithe9 分钟前
ubuntu 端口复用
linux·运维·ubuntu
爱敲代码的憨仔12 分钟前
分布式协同自动化办公系统-工作流引擎-流程设计
java·flowable·oa
纪元A梦36 分钟前
分布式拜占庭容错算法——PBFT算法深度解析
java·分布式·算法
卿着飞翔39 分钟前
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
java·rabbitmq·java-rabbitmq
德先生&赛先生1 小时前
Linux编程:1、文件编程
linux
陈阿土i1 小时前
SpringAI 1.0.0 正式版——利用Redis存储会话(ChatMemory)
java·redis·ai·springai
安全系统学习1 小时前
【网络安全】Qt免杀样本分析
java·网络·安全·web安全·系统安全
程序猿小D1 小时前
第16节 Node.js 文件系统
linux·服务器·前端·node.js·编辑器·vim