/proc/cpuinfo
文件(最底层信息)
命令:
cat /proc/cpuinfo
输出关键字段:
processor
:逻辑CPU编号(从0开始)。model name
:CPU型号(如Intel Xeon E5-2680 v4)。cpu cores
:单个物理CPU的核心数。siblings
:单个物理CPU的逻辑核心数(超线程启用时=siblings/cores=2)。flags
:支持的指令集(如avx2
、sse4_2
)。
适用场景:
需要原始数据时使用,如开发脚本解析硬件信息。
lscpu
命令(架构与拓扑信息)
命令:
lscpu
输出示例:
Architecture: x86_64
CPU(s): 8 # 总逻辑核心数
Thread(s) per core: 2 # 超线程状态(2=启用)
Core(s) per socket: 4 # 每物理CPU的核心数
Socket(s): 1 # 物理CPU数量
Model name: Intel(R) Xeon(R) CPU E5-2680 v4
优势:
直观展示CPU架构、核心拓扑和NUMA节点,适合快速确认是否启用超线程。
nproc
命令(核心数速查)
命令:
nproc --all # 显示总逻辑核心数
适用场景:
脚本中快速获取核心数(如编译软件时指定make -j$(nproc)
)。
top
/ htop
(动态监控)
top
:
按1
键展开所有逻辑CPU核心的实时负载(%Cpu0
~%CpuN
)。htop
(需安装):
色彩化展示,按F2
>Display options
启用CPU使用率条形图。
关键指标:us
:用户空间占用。sy
:内核空间占用。id
:空闲率(持续低于20%需警惕)。
vmstat
(性能瓶颈分析)
命令:
vmstat 1 5 # 每秒采样1次,共5次
输出关键列:
r
:等待运行的进程数(持续>CPU核心数说明资源不足)。us
+sy
:总CPU使用率(接近100%表示过载)。
高级工具(深度分析)
mpstat
(需安装sysstat
):mpstat -P ALL 2 # 每2秒报告所有核心的详细统计
输出各核心的
%irq
(中断)、%soft
(软中断)等细分指标。dmidecode
(需root权限):sudo dmidecode -t processor # 提取固件层CPU信息(型号、缓存大小)
图形化工具(可选)
- GNOME系统监视器:
可视化显示CPU使用历史曲线。 hardinfo
:
生成完整的硬件报告(含CPU基准测试)。
场景选择指南
需求场景 | 推荐命令 |
---|---|
快速确认CPU型号 | lscpu \| grep "Model name" |
检查超线程状态 | lscpu \| grep "Thread" |
实时监控负载 | htop 或 top |
脚本获取核心数 | nproc --all |
分析性能瓶颈 | vmstat 1 或 mpstat -P ALL |
注意事项
- 虚拟化环境(如KVM、Docker)中,
/proc/cpuinfo
可能显示宿主机CPU信息,需结合lscpu
判断实际资源分配。 - 高负载时,优先关注
vmstat
的r
列和htop
的负载平均值(Load Average)。 - 温度监控需额外工具(如
lm-sensors
),非CPU信息标准范畴。
引用说明:
- Linux内核文档:
/proc/cpuinfo
字段解析lscpu
命令手册页:man7.org/linux/man-pages/man1/lscpu.1.html- Sysstat工具集文档:github.com/sysstat/sysstat 基于Linux 5.x内核及主流发行版(Ubuntu/CentOS)验证,符合硬件信息获取的行业标准。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8834.html