linux

Linux CPUInfo中的核心数怎么看

小樊
65
2025-10-29 18:47:27
栏目: 智能运维

Linux下查看CPU核心数的常用方法及解读

1. 通过lscpu命令查看(推荐)

lscpu是专门用于显示CPU架构信息的工具,输出结果清晰直观,是查看核心数的首选方式。
操作命令

lscpu

关键信息解读

物理核心数计算公式

物理核心数 = CPU(s) / (Thread(s) per core × Socket(s))

示例:若lscpu输出中CPU(s)=8Thread(s) per core=2Socket(s)=2,则物理核心数为8/(2×2)=2(即2个物理核心,支持超线程,共8个逻辑核心)。

2. 通过/proc/cpuinfo文件查看

/proc/cpuinfo是Linux系统记录CPU详细信息的虚拟文件,通过grep命令可提取核心数相关数据。
操作命令

# 查看逻辑核心数(即CPU(s)的值)
cat /proc/cpuinfo | grep 'processor' | wc -l

# 查看每个物理CPU的物理核心数(即cpu cores的值)
cat /proc/cpuinfo | grep 'cpu cores' | uniq

# 查看物理CPU个数(即physical id的唯一值数量)
cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l

关键字段说明

物理核心数计算逻辑
通过physical id的数量(物理CPU个数)乘以cpu cores的值(每个物理CPU的物理核心数),即可得到总物理核心数。

3. 通过nproc命令查看

nproc是GNU Coreutils工具包中的命令,用于快速获取当前系统可用的逻辑CPU数量(即lscpu中的CPU(s)值)。
操作命令

nproc

输出示例:若系统有8个逻辑核心,执行nproc将直接输出8
注意nproc仅显示逻辑核心数,不区分物理核心或超线程线程。

4. 关键概念区分

通过上述命令获取的信息,可结合以下公式验证逻辑核心数的正确性:

逻辑核心数 = 物理CPU个数 × 每个物理CPU的物理核心数 × 每个核心的超线程数

以上方法覆盖了Linux系统下查看CPU核心数的常用场景,其中lscpu/proc/cpuinfo提供了最详细的硬件信息,而nproc则适合快速获取逻辑核心数。

0
看了该问题的人还看了