在 CentOS 下,cpustat 本身不直接显示 CPU 核数,它是用来统计 CPU 使用率 的。要看 CPU 核数,一般结合 /proc/cpuinfo 或 lscpu 来看。下面给你几种常用方法。
lscpu(最方便)lscpu
重点关注:
CPU(s): 8
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
CPU(s) = Socket × Core × Thread
物理核数 = Core(s) per socket × Socket(s)
✅ 示例:
/proc/cpuinfo 看核数grep -c processor /proc/cpuinfo
cat /proc/cpuinfo | grep -E "processor|core id|physical id" | less
# 物理 CPU 个数
grep "physical id" /proc/cpuinfo | sort -u | wc -l
# 每个物理 CPU 的核数
grep "cpu cores" /proc/cpuinfo | uniq
cpustat 来自 sysstat 包:
cpustat
示例输出:
05:10:01 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
05:10:01 PM all 10.2 0.0 5.1 0.3 0.0 0.1 0.0 0.0 0.0 84.3
05:10:01 PM 0 12.1 0.0 4.9 0.2 0.0 0.0 0.0 0.0 0.0 82.8
05:10:01 PM 1 9.8 0.0 5.3 0.4 0.0 0.1 0.0 0.0 0.0 84.4
✅ CPU 编号(0,1,2…)就是逻辑 CPU 核数
0 到 N-1| 需求 | 命令 |
|---|---|
| 逻辑 CPU 数 | nproc 或 grep -c processor /proc/cpuinfo |
| 物理核数 | lscpu |
| CPU 使用率 | cpustat / top / htop |
| 是否超线程 | lscpu 看 Thread(s) per core |
如果你愿意,可以把 lscpu 的输出贴出来,我可以帮你 精确算一下物理核 / 逻辑核 / NUMA 结构。