在 Linux 下,/proc/cpuinfo 是最常用的 CPU 信息来源。下面按常见统计需求给你总结方法和命令。
cat /proc/cpuinfo
grep -c processor /proc/cpuinfo
或
nproc
grep "physical id" /proc/cpuinfo | sort -u | wc -l
grep "cpu cores" /proc/cpuinfo | uniq
# 逻辑CPU / 物理核心
echo $(nproc) / $(grep "cpu cores" /proc/cpuinfo | uniq | awk '{print $4}')
如果逻辑数 > 物理核心数,说明开启了超线程。
grep "model name" /proc/cpuinfo | uniq
grep flags /proc/cpuinfo | uniq
echo "物理CPU数: $(grep 'physical id' /proc/cpuinfo | sort -u | wc -l)"
echo "每CPU核心数: $(grep 'cpu cores' /proc/cpuinfo | uniq | awk '{print $4}')"
echo "逻辑CPU数: $(nproc)"
echo "CPU型号: $(grep 'model name' /proc/cpuinfo | uniq | awk -F: '{print $2}')"
lscpu
输出示例:
CPU(s): 16
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 1
❌ 把 processor 数量直接当“物理核心数”
✅ processor = 逻辑 CPU
✅ cpu cores = 物理核心
如果你用的是 容器 / K8s / 云服务器,统计方式会略有不同,可以告诉我环境,我帮你细化。