通过CPUInfo了解CPU核心数的常用方法(Linux系统)
在Linux系统中,/proc/cpuinfo虚拟文件和lscpu命令是获取CPU核心数的核心工具,它们能提供逻辑核心、物理核心、线程数等详细信息。以下是具体操作步骤:
lscpu是专门用于解析CPU信息的工具,输出结构清晰,直接包含核心数相关字段。
操作命令:
lscpu
关键信息解读:
物理核心数 = Core(s) per socket × Socket(s)Core(s) per socket为4、Socket(s)为2,则物理核心数为8。/proc/cpuinfo是Linux系统提供的CPU详细信息文件,通过grep和wc命令可提取核心数。
(1)获取逻辑核心数
逻辑核心数即系统中所有逻辑处理器的数量,对应processor字段的唯一值数量。
命令:
cat /proc/cpuinfo | grep 'processor' | wc -l
(2)获取物理核心数
物理核心数需通过physical id(物理CPU编号)和cpu cores(每个物理CPU的核心数)计算:
physical id的唯一值数量(适用于无超线程或已知每个物理核心线程数的场景);cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l
cpu cores字段的值(更准确,反映物理核心的真实数量);cat /proc/cpuinfo | grep 'cpu cores' | uniq
例如,若输出为cpu cores : 4,则表示每个物理CPU有4个物理核心。
nproc是专门用于显示可用逻辑核心数的命令,无需复杂参数,结果直接明了。
操作命令:
nproc
该命令输出的结果与lscpu中的CPU(s)字段一致,代表系统当前可用的逻辑核心数量。
top后,按数字键1,顶部会显示CPU的逻辑核心列表(如Cpu0、Cpu1等),数量即为逻辑核心数;sudo apt install htop或sudo yum install htop),运行后直接显示逻辑核心的柱状图,更直观。通过上述方法,可全面了解Linux系统中CPU的核心数信息,包括逻辑核心、物理核心及线程配置,为系统性能分析、优化提供基础数据。