lscpu 是什么
lscpu 汇总 CPU 架构、物理与逻辑核数、每核线程数、缓存、NUMA 节点与虚拟化标识。它是性能分析和容量评估的静态底图:负载判读、并行度与线程池大小都要以它给出的核数为基准。
基本信息
| 用途 | 查看 CPU 架构与拓扑信息 |
|---|---|
| 语法 | lscpu [选项] |
| 所属 | util-linux |
| 常用方式 | 按 CPU 展开拓扑,或筛选型号与 NUMA 字段 |
典型使用场景
- 容量评估:以逻辑核数作为并行度与线程池的基线
- 性能排查:确认是否开启超线程,避免把逻辑核当物理核估算能力
- NUMA 判断:多路机器上确认节点数,评估内存本地性影响
- 虚拟化识别:确认当前运行在虚拟机还是物理机,是否支持嵌套虚拟化
- 机型核对:新机器到货后核对型号与主频是否符合采购规格
常用示例
常用示例
lscpu
lscpu -e # 每个逻辑 CPU 的拓扑与在线状态
lscpu | grep -E 'Model name|Socket|Core|Thread|NUMA|MHz'
lscpu -p | head -n 20 # 机器可读格式,便于脚本解析
grep -c processor /proc/cpuinfo # 逻辑核数量对照关键字段
| 字段 | 含义 | 怎么看 |
|---|---|---|
| 插槽数 | 物理插槽数量 | 多路机器上影响内存通道 |
| 每插槽核心 | 物理核心数 | 代表真实并行能力 |
| 每核心线程 | 线程数 | 大于 1 表示开启超线程 |
| NUMA 节点 | 节点数与归属 | 跨节点访问内存延迟更高 |
| 主频 | 当前或标称频率 | 动态调频时会变化 |
| 虚拟化标识 | 是否运行在虚拟机中 | 出现即表示宿主之上 |
输出里的 CPU 数量是逻辑核数,评估负载与并行度都要以它为准,与物理核数相差一倍是超线程的正常表现。
虚拟机看到的核数与物理映射由宿主决定,客户机内无法反映真实的超卖比例。
机器可读格式适合脚本解析,需要长期对比时把它与采集脚本的输出一起归档。