CPUInfo中processor编号的核心意义
在Linux系统的/proc/cpuinfo文件中,processor字段是系统中每个逻辑处理核的唯一标识符,其编号从0开始依次递增(如0、1、2……),用于区分系统中所有的逻辑CPU资源。
processor编号是逻辑处理器的“身份证”,每一个逻辑CPU(包括物理核心或超线程生成的虚拟核心)都有唯一的编号。例如,单核CPU只有一个逻辑核心,其processor编号为0;双核CPU有两个逻辑核心,编号分别为0和1。
processor编号数量等于物理CPU的核心数(如单核单线程CPU仅有processor 0)。processor编号数量等于物理CPU的核心数(如四核CPU有processor 0至processor 3,每个编号对应一个物理核心)。processor编号数量等于物理CPU数×每颗物理CPU的核心数×2(如2颗物理CPU,每颗4核且支持超线程,processor编号从0到15,共16个逻辑核心,其中每个物理核心对应2个逻辑核心)。processor编号需与physical id(物理CPU封装编号)、core id(物理核心编号)配合使用,才能完整反映硬件拓扑:
physical id的processor属于同一颗物理CPU;physical id+core id的processor属于同一个物理核心(超线程技术会将一个物理核心拆分为多个逻辑核心,这些逻辑核心的core id相同,但processor编号不同)。例如,若/proc/cpuinfo中physical id有0和1(2颗物理CPU),core id有0、1、2、3(每颗4核),且支持超线程,则processor编号为0-15(2×4×2),其中processor 0和processor 8属于同一颗物理CPU的第0个核心(超线程生成的虚拟核心)。