如何查看CPU 核心数
在 Linux 系统中,可以通过以下方法快速查看 CPU 核心数(包括物理核心和逻辑核心/线程数):
1. 查看物理核心数(Physical Cores)
物理核心是 CPU 的实际硬件核心数量。
命令:
grep "physical id" /proc/cpuinfo | sort -u | wc -l
或直接统计唯一物理核心ID:
lscpu | grep "Core(s) per socket" | awk '{print $4}'
2. 查看逻辑核心数(Logical Cores/Threads)
逻辑核心数 = 物理核心数 × 每核心线程数(超线程技术下,逻辑核心数 > 物理核心数)。
命令:
nproc # 直接显示逻辑核心总数
或:
grep -c "processor" /proc/cpuinfo
或使用 lscpu
:
lscpu | grep "^CPU(s):" | awk '{print $2}'
3. 使用 lscpu
查看完整 CPU 信息
lscpu
输出关键字段:
Architecture: x86_64
CPU(s): 16 # 逻辑核心总数
Thread(s) per core: 2 # 每核心线程数(超线程启用时为2)
Core(s) per socket: 8 # 每个CPU插槽的物理核心数
Socket(s): 1 # CPU插槽数(物理CPU个数)
计算公式:
- 物理核心总数 =
Socket(s) × Core(s) per socket
示例:1 × 8 = 8 个物理核心
- 逻辑核心总数 =
物理核心 × Thread(s) per core
示例:8 × 2 = 16 个逻辑核心
4. 其他方法
(1)通过 /proc/cpuinfo
统计
cat /proc/cpuinfo | grep "processor" | wc -l # 逻辑核心数
cat /proc/cpuinfo | grep "cores" | uniq # 每颗CPU的物理核心数
(2)使用 top
或 htop
- 按
1
(数字1)可显示所有 CPU 核心的实时使用情况,顶部会显示核心总数。
(3)使用 nvidia-smi
(GPU 服务器)
如果需确认 GPU 相关的 CPU 核心:
nvidia-smi --query-gpu=count --format=csv,noheader
5. 快速总结
命令 | 作用 |
---|---|
nproc | 直接显示逻辑核心总数 |
lscpu | 查看详细的 CPU 拓扑信息 |
grep -c "processor" /proc/cpuinfo | 逻辑核心数 |
grep "physical id" /proc/cpuinfo | sort -u | wc -l | 物理CPU数量 |
示例输出解读
$ lscpu
CPU(s): 16 # 逻辑核心总数
Thread(s) per core: 2 # 启用了超线程
Core(s) per socket: 8 # 每颗CPU的物理核心数
Socket(s): 1 # 物理CPU数量
- 物理核心总数 =
1(Socket) × 8(Core per socket) = 8
- 逻辑核心总数 =
8(物理核心) × 2(线程数) = 16