Ubuntu 中 CPU 信息查看概览
在 Ubuntu 中,常说的“CPUInfo”主要对应两类方式:一是读取内核提供的虚拟文件 /proc/cpuinfo,二是使用命令 lscpu。前者按每个逻辑处理器列出详细参数,后者以拓扑视角汇总 CPU 架构与核心/线程等关键数据,二者互补,适合不同场景使用。
/proc/cpuinfo 能查到的信息
- 处理器标识与型号:如 processor(逻辑处理器编号)、vendor_id(如 GenuineIntel/AuthenticAMD)、model name(如 Intel® Core™ i7-8550U)、cpu family / model / stepping。
- 核心与拓扑:如 physical id(物理 CPU 编号)、core id(物理核心编号)、cpu cores(每颗物理 CPU 的核心数)、siblings(每颗物理 CPU 的逻辑处理器数,用于判断是否启用超线程)。
- 频率与缓存:如 cpu MHz(当前频率)、cache size(通常为 L3 缓存大小)、以及 bogomips(粗略性能参考值)。
- 指令集与特性:如 flags(SSE、AVX、VMX/SVM 等)、bugs(已知 CPU 漏洞名称)。
- 其它低层字段:如 fpu、cpuid level、wp、clflush size、address sizes、power management 等。
这些信息适合做细粒度的逐项核对与脚本解析。
lscpu 能查到的信息
- 架构与位宽:Architecture(如 x86_64)、CPU op-mode(s)(如 32-bit, 64-bit)、Byte Order(如 Little Endian)、Address sizes。
- 核心与线程拓扑:CPU(s)(逻辑 CPU 总数)、Thread(s) per core、Core(s) per socket、Socket(s)、NUMA node(s)。
- 型号与频率:Model name、CPU MHz、CPU max MHz、CPU min MHz。
- 缓存:L1d/L1i/L2/L3 cache。
- 虚拟化与特性:Virtualization(如 VT-x/AMD-V)、Flags(特性标志)。
- NUMA 分布:如 NUMA node0 CPU(s) 等。
该命令输出结构化、可读性强,便于快速了解系统 CPU 的整体配置与拓扑。
常用命令示例
- 快速查看型号与核心概览:
- 统计数量:
- 物理 CPU 数:
cat /proc/cpuinfo | grep 'physical id' | sort -u | wc -l
- 逻辑 CPU 数:
cat /proc/cpuinfo | grep 'processor' | wc -l
- 每颗物理 CPU 的核心数:
cat /proc/cpuinfo | grep 'cpu cores' | uniq
- 判断是否启用超线程:比较同一物理 CPU 的 cpu cores 与 siblings,若 siblings > cpu cores 则启用了超线程;也可观察是否存在多个逻辑处理器共享同一 core id。
- 查看支持的 64 位:检查 flags 中是否包含 lm(long mode)。
- 实时监控与扩展:
- 负载监控:
top 或 htop(需安装:sudo apt install htop)
- 每核使用率:
mpstat -P ALL 1(需安装:sudo apt install sysstat)
- 启动日志中的 CPU 信息:
dmesg | grep -i cpu
以上命令覆盖从快速概览到深入分析的常见需求。
使用与解读提示
- 在虚拟机或云环境中,/proc/cpuinfo 与 lscpu 显示的是被分配的 vCPU 与虚拟拓扑,可能与物理机实际参数不同;做容量与性能判断时需结合宿主机配置。
- 判断超线程的正确方法是基于 physical id + core id + siblings/cpu cores 的组合关系,单看某一字段可能产生误判。
- 如需图形化概览,可安装 hardinfo:
sudo apt install hardinfo,适合非命令行场景。