这一篇就够了!VPS 查看 CPU 型号、数量、核心数、线程数

最近入手了一台国外的VPS,双核2G内存的,CPU也很强,性价比相当不错,到手之后第一时间想检查一下是否存在“虚标”,把相关命令整理了一下,非常好用!

在 Linux 中,CPU 的型号、物理 CPU 数量、核心数、线程数等信息都可以从 /proc/cpuinfo 获取。下面整理了一些最常用的命令。


一、查看 CPU 型号

cat /proc/cpuinfo | grep "name" | cut -d: -f2 | uniq -c

示例输出

4 Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz

表示:

  • CPU 型号:Intel Xeon E5-2680 v4

  • 共检测到 4 个逻辑 CPU(线程)


二、查看物理 CPU(CPU 插槽)数量

方法一:

grep "physical id" /proc/cpuinfo | sort -u | wc -l

方法二:

cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

示例输出

2

表示服务器安装了 2 颗 CPU


三、查看每颗 CPU 的核心数量

grep "cpu cores" /proc/cpuinfo | uniq

cat /proc/cpuinfo | grep "cpu cores" | uniq

示例输出

cpu cores : 8

表示每颗 CPU 有 8 个物理核心

注意:

很多人使用下面这条命令:

grep "core id" /proc/cpuinfo | sort -u | wc -l

它统计的是 Core ID 数量,在多路服务器(如双路、四路)中不能代表整机总核心数,因此不建议作为总核心数统计方法。


四、查看逻辑 CPU(线程)数量

方法一:

grep "processor" /proc/cpuinfo | sort -u | wc -l

方法二:

cat /proc/cpuinfo | grep "processor" | wc -l

示例输出

16

表示系统共有 16 个逻辑 CPU(线程)

如果开启了 Intel Hyper-Threading(超线程)或 AMD SMT,那么:

线程数 = 物理 CPU 数 × 每颗 CPU 核心数 × 每核心线程数

例如:

2 颗 CPU
每颗 8 核
每核 2 线程

总线程数 = 2 × 8 × 2 = 32

CPU 参数之间的关系

假设一台服务器配置如下:

  • 物理 CPU:2 颗

  • 每颗 CPU:8 核

  • 每核心:2 线程(开启超线程)

那么:

参数 数值
物理 CPU 数 2
每颗 CPU 核心数 8
总物理核心数 16
总逻辑 CPU(线程)数 32

一条命令查看 CPU 详细信息(推荐)

安装:

# Debian / Ubuntu
sudo apt install lscpu

# CentOS / Rocky / AlmaLinux
sudo yum install util-linux

查看:

lscpu

示例输出:

Architecture:        x86_64
CPU(s):              16
Thread(s) per core:  2
Core(s) per socket:  8
Socket(s):           1
Model name:          Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz

其中:

  • Model name:CPU 型号

  • CPU(s):逻辑 CPU(线程)总数

  • Thread(s) per core:每核心线程数

  • Core(s) per socket:每颗 CPU 的核心数

  • Socket(s):物理 CPU 数量

相比直接解析 /proc/cpuinfolscpu 的输出更直观,也更推荐在日常运维中使用。