CentOS 7 查看 CPU 型号
在 CentOS 7 上查看 CPU 型号,常见需求有三类:确认硬件规格、排查云主机配置,以及批量运维时记录节点信息。很多时候你还需要知道逻辑 CPU 数和物理核心数,所以最好准备一套组合命令。
一、最常用的查看方式
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
示例输出:
[root@localhost ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
40 Intel(R) Xeon(R) CPU E5-2690 v2 @ 3.00GHz
前面的 40 表示逻辑 CPU 数,后半部分是型号名称。这个命令的优点是简单,缺点是信息不够完整。
1.1 每段命令的含义
| 命令段 | 作用 |
|---|---|
cat /proc/cpuinfo |
读取内核导出的 CPU 信息 |
grep name |
只保留型号相关行 |
cut -f2 -d: |
提取冒号后的型号部分 |
uniq -c |
合并重复行并统计数量 |
因为 /proc/cpuinfo 会为每个逻辑 CPU 输出一段信息,所以同一个型号会重复很多次。uniq -c 合并后,数字就能直接反映逻辑 CPU 数。
1.2 什么时候这条命令足够
如果你只是做快速核对,比如确认报价和实际规格是否一致,这条命令已经够用了。若要做压测或容量规划,最好再补上架构、线程数和缓存信息。
二、更推荐的命令
2.1 使用 lscpu
lscpu
lscpu 会把架构、核心数、线程数、型号名和缓存等内容整理成更易读的格式:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Model name: Intel(R) Xeon(R) CPU E5-2690 v2 @ 3.00GHz
CPU(s): 40
2.2 直接看型号
cat /proc/cpuinfo | grep "model name"
如果你只想快速确认型号,这条命令更直观。
2.3 查看物理核与逻辑核
# 物理核心数
grep "core id" /proc/cpuinfo | sort -u | wc -l
# 逻辑 CPU 数
nproc
在虚拟机或超线程开启的机器上,物理核心数和逻辑核心数往往不同,这一点在性能评估时很重要。
三、一个更完整的检查脚本
echo "Model: $(lscpu | awk -F: '/Model name/ {gsub(/^ +/, "", $2); print $2; exit}')"
echo "Logical CPUs: $(nproc)"
echo "Physical cores: $(grep 'core id' /proc/cpuinfo | sort -u | wc -l)"
这类输出适合写进运维记录,也适合批量采集后导入资产表。
3.1 批量采集思路
| 场景 | 建议 |
|---|---|
| 单台排查 | 直接执行命令 |
| 批量巡检 | 用脚本输出到文件 |
| 资产登记 | 统一导入 CMDB |
#!/bin/bash
hostname
lscpu | awk -F: '/Model name|CPU\(s\)|Thread|Core/ {gsub(/^ +/, "", $2); print $1 ": " $2}'
四、什么时候一定要查
- 采购前确认机器是否与报价一致。
- 迁移前核对虚拟机规格,避免“买小了”或“配错了”。
- 做压测前记录硬件基线,避免把硬件差异误判为程序问题。
4.1 组合判断更稳
如果你在规划新服务器,可以结合云服务器相关内容、服务器选型指南以及服务器性能测试指南一起看,这样更容易把 CPU、内存和磁盘搭配判断清楚。
4.2 常见误区
| 误区 | 解释 |
|---|---|
| 只看型号不看核心数 | 线程数和核心数都会影响性能 |
| 只看逻辑核 | 虚拟化下不等于真实算力 |
| 只看一次输出 | 迁移和扩容后可能变化 |
五、参考和附注
原文链接:https://www.cnblogs.com/cqzhuomi/articles/17297845.html(博客园 CQZHUOMI,转载)
建议顺手把 lscpu、nproc 和 /proc/cpuinfo 的结果一起记录,这样后续做性能回溯更容易。
六、再补一条硬件信息
如果你还想确认主板、 BIOS 或机器序列号,CentOS 7 也可以顺手看一下。
dmidecode -t processor | grep -E 'Version|Core Count|Thread Count'
hostnamectl
这些命令适合放进巡检脚本里,和 CPU 型号一起输出。对于运维记录来说,型号、核心数、线程数、序列号最好一次性记全,后面查问题会省很多时间。
| 字段 | 用途 |
|---|---|
| 型号 | 核对采购和实例规格 |
| 核心数 | 估算性能 |
| 线程数 | 判断并发能力 |
| 序列号 | 资产登记 |
七、把这些结果写进资产表
如果你是批量运维,最好把 CPU 型号、核心数、线程数、内存和磁盘一起写进一张资产表。这样在后续做扩容、迁移和压测时,不需要再一台台去查。
| 资产字段 | 建议记录内容 |
|---|---|
| 主机名 | 节点唯一标识 |
| CPU 型号 | 具体型号字符串 |
| 逻辑核 | nproc 的结果 |
| 物理核 | core id 汇总结果 |
| 内存 | free -h |
| 磁盘 | lsblk |
这种记录方式看起来简单,但在回溯性能问题时非常有用。很多“程序慢”的判断,最后都会落回到硬件规格是否被低估。
如果后面还要和压测结果做对比,建议把 lscpu 输出、机器型号和压测时间一起存档。这样当业务增长后,你可以直接回看同一台机器在不同阶段的表现,而不用重新收集一遍信息。
7.1 记录模板
如果你想直接落到文档里,可以用一个固定模板:主机名、CPU 型号、核心数、线程数、内存、磁盘、采集时间。这个模板一旦统一,后面做横向对比会非常方便。
| 字段 | 示例 |
|---|---|
| 主机名 | web-01 |
| 采集时间 | 2026-08-07 10:00 |
再往前一步,可以把 free -h 和 lsblk 的输出也一起保存下来。CPU 只是性能的一部分,内存和磁盘经常才是影响用户体感的真正瓶颈。
7.2 批量检查时怎么写脚本
如果你同时管理多台 CentOS 7 机器,最省事的方式不是一台台登录查看,而是把命令收进一个巡检脚本里。脚本的目标很简单:在同一份输出里同时拿到型号、核心数、线程数和主机名,后面复制进表格或工单都方便。
#!/bin/bash
echo "Host: $(hostname)"
echo "Model: $(lscpu | awk -F: '/Model name/ {gsub(/^ +/, "", $2); print $2; exit}')"
echo "Logical CPUs: $(nproc)"
echo "Physical cores: $(grep 'core id' /proc/cpuinfo | sort -u | wc -l)"
7.3 一个更实用的巡检表
| 检查项 | 为什么要看 | 结果判读 |
|---|---|---|
| 型号 | 核对硬件规格 | 是否符合采购或实例说明 |
| 逻辑核 | 判断并发能力 | 是否满足当前业务量 |
| 物理核 | 判断真实算力 | 是否被超线程误导 |
| 架构 | 兼容性判断 | x86_64 还是其他架构 |
| 缓存 | 性能参考 | 是否适合高负载场景 |
7.4 常见排查场景
- 云主机升级后,
lscpu显示的型号和之前不同,先确认是不是实例规格真的变了。 - 压测前发现逻辑核数很多,但实际性能一般,先看是不是物理核和超线程的差异。
- 批量巡检时不同机器输出不一致,优先检查镜像版本和虚拟化平台。
如果你要把这类信息长期沉淀下来,最好让巡检脚本把结果直接写进文本或表格文件。这样一来,后面做性能回溯、扩容决策或采购对比时,数据不会散在聊天记录里。