当前位置:首页 > 物理机 > 正文

Linux怎么查看物理机CPU核数?

在Linux系统中,使用 lscpu命令查看物理CPU核数,重点关注 Core(s) per socket和 Socket(s)的值,两者相乘即为物理核心总数,也可通过 grep 'core id' /proc/cpuinfo | sort -u | wc -l计算。

在Linux系统中,准确查看物理机的CPU核数对系统优化、资源分配和性能调优至关重要,以下是几种可靠的方法,每种方法均附详细说明和示例:


使用 lscpu 命令(推荐)

lscpu 是最直观的工具,直接显示CPU架构的详细信息,包括物理核数和逻辑核数(超线程技术产生的线程)。

操作步骤

lscpu

关键输出解析

  • CPU(s):逻辑核总数(即超线程后的总线程数)。
  • Core(s) per socket:每个物理CPU插槽的物理核数。
  • Socket(s):物理CPU插槽数量(即物理CPU个数)。

    物理核总数公式

    物理核总数 = Socket(s) × Core(s) per socket

示例输出

Linux怎么查看物理机CPU核数? 第1张

此例中物理核总数 = 1(Socket) × 8(Core per socket) = 8。


查看 /proc/cpuinfo 文件

Linux虚拟文件系统 /proc/cpuinfo 存储了CPU的原始数据,可通过过滤关键字提取信息。

操作步骤

Linux怎么查看物理机CPU核数? 第2张

Linux怎么查看物理机CPU核数? 第3张

grep -c "core id" /proc/cpuinfo | uniq # 查看物理核数 grep -c "processor" /proc/cpuinfo # 查看逻辑核总数

输出解析

  • core id:每个物理核的唯一ID,去重后的数量即物理核数。
  • processor:逻辑核的编号,总数即逻辑核数。


使用 nproc 命令

快速获取当前可用的逻辑核总数(适用于脚本自动化):

nproc --all # 输出逻辑核总数


其他辅助命令

  • getconf 命令: getconf _NPROCESSORS_ONLN # 返回在线逻辑核数
  • top 或 htop

    运行 top 后按 1,显示所有逻辑核的实时状态(不区分物理/逻辑核)。


重要概念区分

  • 物理核(Physical Cores):CPU硬件实际存在的核心,决定基础算力。
  • 逻辑核(Logical Cores):通过超线程技术将一个物理核虚拟为多个线程,提升并行效率。

    关系

    逻辑核数 = 物理核数 × 每个核的线程数(通常为1或2)。


应用场景建议

  • 运维/调优:优先用 lscpu 全面分析物理核与逻辑核分布。
  • 脚本开发:用 nproc 或 getconf 快速获取逻辑核数。
  • 故障排查:检查 /proc/cpuinfo 确认CPU型号和状态。


  • 物理核数 = Socket(s) × Core(s) per socket(通过 lscpu 获取)。
  • 逻辑核数 = CPU(s)(lscpu)或 grep -c "processor" /proc/cpuinfo。
  • 避免混淆:物理核是硬件实体,逻辑核是操作系统看到的可调度单元。

引用说明参考 Linux Man 手册(man lscpu、man nproc)及 Linux 内核文档(/proc/cpuinfo),确保信息的准确性与权威性。

0