在日常运维中,我们经常需要了解服务器的CPU配置信息,尤其是CPU核数。无论是部署应用时配置线程池大小,还是排查性能瓶颈,准确获取CPU核数都是基本功。
一、CPU常用概念
- 逻辑CPU:开启超线程后,操作系统看到的处理器数量(通常>=物理核心数) 搞清楚这些,才能避免“8核16线程”这种说法带来的混淆。
二、查看方法
nproc
它会直接返回逻辑CPU的数量(包含超线程)。
比如你看到输出是8,意味着系统有8个逻辑CPU。
或
grep -c ^processor /proc/cpuinfo
或
lscpu | grep "^CPU(s)"
grep "physical id" /proc/cpuinfo | sort -u | wc -l
或
lscpu | grep -i "Socket(s)"
grep "cpu cores" /proc/cpuinfo| uniq
或
lscpu | grep -i "Core(s) per socket"
lscpu| grep -i "Thread(s) per core"# 2表示开启了超线程
三、计算方式
物理核心数 = Socket(s) × Core(s) per socket
逻辑CPU数 = Socket(s) × Core(s) per socket × Thread(s) per core
四、其它辅助命令
cat /proc/cpuinfo | grep "model name" | uniq
arch
或
uname -m
dmidecode -t processor
ℹ️备注
dmidecode需要root权限,且某些云服务器可能不支持读取完整信息