以下为核心术语的定义、关系及在 CentOS 中的查看方法:
术语 | 定义 | 关键特性 |
---|---|---|
CPU | 中央处理器(Central Processing Unit),计算机的运算核心 | 物理封装在主板上的芯片(如 Intel i9、AMD Ryzen)。 |
物理核数 | CPU 芯片中独立存在的物理计算单元数量 | 每个物理核独占计算资源(ALU、寄存器); 多核实现真正并行计算。 |
逻辑核数 | 通过超线程(Hyper-Threading)技术将一个物理核模拟出的多个虚拟计算单元 | 由操作系统识别为独立核;逻辑核共享物理核资源,性能 < 物理核 × 数量。 |
超线程技术 | Intel 的硬件技术(AMD 为 SMT),让单物理核在同一时间片处理多线程指令 | 启用后:物理核数 × 2 = 逻辑核数;提升吞吐量但降低单核性能(适合 I/O 密集型任务)。 |
此处线程和我们常说的进程中的线程有所区别,具体区别可以见《超线程与应用线程的区别》。
逻辑核数 = 物理核数 × 2
逻辑核数 = 物理核数
lscpu
关键输出解析:
Architecture: x86_64
CPU(s): 8 # 总逻辑核数
Thread(s) per core: 2 # 每个物理核的逻辑线程数(超线程启用时为2)
Core(s) per socket: 4 # 每颗CPU的物理核数
Socket(s): 1 # 物理CPU颗数(即CPU插槽数)
grep "cpu cores" /proc/cpuinfo | uniq
# 输出示例:cpu cores : 4
nproc # 或 grep -c "processor" /proc/cpuinfo
# 输出示例:8
# 若 Thread(s) per core = 2 → 超线程启用
lscpu | grep "Thread(s) per core"
# 输出示例:Thread(s) per core: 2
# 查看每个逻辑核对应的物理核编号(相同physical id属于同一物理核)
cat /proc/cpuinfo | grep -e "processor" -e "physical id" -e "core id"
输出示例:
processor: 0
physical id: 0 # 物理CPU编号
core id: 0 # 物理核编号
processor: 1
physical id: 0
core id: 0 # 与processor0同属一个物理核(超线程)