[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 缓存。

相关推荐
七歌杜金房5 小时前
我终于又有了自己的 Linux 电脑
linux·debian·mac
Flittly11 小时前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
小兔崽子去哪了11 小时前
Java 生成二维码解决方案
java·后端
人活一口气15 小时前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
NE_STOP17 小时前
Vibe Coding -- 完整项目案例实操
java
荣码17 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
SimonKing17 小时前
Google第三方授权登录
java·后端·程序员
明月光81817 小时前
从一行 @Builder 说起:重新拾起 Java 的 Lombok、注解与 Builder 模式
java
考虑考虑1 天前
Mybatis实现批量插入
java·后端·mybatis
咖啡八杯1 天前
GoF设计模式——中介者模式
java·后端·spring·设计模式