在CentOS或Ubuntu Server中,可以通过以下方法验证服务器是否真正分配了2个vCPU核心:
1. 使用 lscpu 命令(最直接)
lscpu
查看关键信息:
- CPU(s): 显示逻辑CPU总数
- Core(s) per socket: 每个插槽的核心数
- Socket(s): 物理插槽数
- Thread(s) per core: 每个核心的线程数(超线程)
对于2个vCPU的情况:
- 如果是2个物理核心:
CPU(s): 2 - 如果是1个核心2个线程(超线程):
CPU(s): 2,但Thread(s) per core: 2
2. 使用 top 命令
top
按 1 键查看CPU核心详情:
- 会显示每个CPU核心的使用情况
- 如果有2个vCPU,会显示
Cpu0和Cpu1 - 顶部显示
%Cpu(s):后面会显示所有CPU的汇总信息
3. 使用 htop 命令(需要安装)
# Ubuntu/Debian
sudo apt install htop
# CentOS/RHEL
sudo yum install htop
htop
- 顶部会显示CPU使用率的条形图
- 每个vCPU对应一个条形图
- 可以清楚看到CPU核心数量
4. 其他验证方法
查看 /proc/cpuinfo
cat /proc/cpuinfo | grep "processor" | wc -l
显示逻辑处理器数量,如果是2个vCPU,输出为 2
查看物理核心数
cat /proc/cpuinfo | grep "core id" | sort -u | wc -l
使用 nproc 命令
nproc
直接显示可用的处理器单元数量
5. 区分物理核心和逻辑核心
要确定是2个物理核心还是1个核心2个线程:
# 查看物理核心数
lscpu | grep "Core(s) per socket"
# 查看逻辑核心数
lscpu | grep "CPU(s)"
# 查看是否启用超线程
lscpu | grep "Thread(s) per core"
示例输出分析
情况1:2个物理vCPU
CPU(s): 2
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
→ 2个物理核心,无超线程
情况2:1个物理核心,2个线程(超线程)
CPU(s): 2
Thread(s) per core: 2
Core(s) per socket: 1
Socket(s): 1
→ 1个物理核心,启用超线程,显示为2个逻辑CPU
总结建议
- 首选
lscpu– 提供最全面的CPU架构信息 - 快速检查用
nproc– 直接显示逻辑CPU数量 - 实时监控用
htop– 可视化查看CPU使用情况 - 验证超线程状态 – 通过
lscpu查看Thread(s) per core
如果显示CPU(s): 2,说明系统识别到2个vCPU,无论是物理核心还是逻辑线程,系统都会将其作为2个独立的处理单元来调度任务。
CLOUD技术笔记