proc/cpuinfo 确定系统的CPU情况
?
?一些操作系统的最新版本已经更新了?/proc/cpuinfo?文件,以支持多路平台。如果您的系统中的?/proc/cpuinfo?文件能够正确地反映出处理器信息,那么就不需要执行上述步骤。反之,可采用本文中的信息进行解释。
/proc/cpuinfo?文件包含系统上每个处理器的数据段落。/proc/cpuinfo?描述中有?6?个条目适用于多内核和超线程(HT)技术检查:processor,?vendor id,?physical id,?siblings,?core id?和?cpu cores。
拥有相同?physical id?的所有逻辑处理器共享同一个物理插座。每个?physical id?代表一个唯一的物理封装。Siblings?表示位于这一物理封装上的逻辑处理器的数量。它们可能支持也可能不支持超线程(HT)技术。每个?core id?均代表一个唯一的处理器内核。所有带有相同?core id?的逻辑处理器均位于同一个处理器内核上。如果有一个以上逻辑处理器拥有相同的?core id?和?physical id,则说明系统支持超线程(HT)技术。如果有两个或两个以上的逻辑处理器拥有相同的?physical id,但是?core id?不同,则说明这是一个多内核处理器。cpu cores?条目也可以表示是否支持多内核。
例如,如果系统包含两个物理封装,每个封装中又包含两个支持超线程(HT)技术的处理器内核,则?/proc/cpuinfo?文件将包含此数据。(注:数据并不在表格中。)
?0
?1
?2
?3
?4
?5
?6
?7
?physical id
?0
?1
?0
?1
?0
?1
?0
?1
?core id
?0
2
1
?3
?0
?2
?1
?3
?siblings
?4
?4
?4
?4
?4
?4
?4
?4
?cpu cores
?2
?2
?2
?2
?2
?2
?2
?2
此例说明逻辑处理器?0?和?4?驻留在物理封装?0?的内核?0?上。这就表示逻辑处理器?0?和?4?支持超线程(HT)技术。相同的工作可用于封装?0?内核?1?上的逻辑处理器?2?和?6,封装?1?内核?2?上的逻辑处理器?1?和?5,以及封装?1?内核?3?上的逻辑处理器?3?和?7。此系统支持超线程(HT)技术,因为两个逻辑处理器共享同一个内核。有两种方式可以确定是否支持多内核。由于内核?0?和?1?存在于封装?0?上,而内核?2?和?3?存在于封装?1?上,所以这是一个多内核系统。此外,cpu cores?条目为?2,也说明有两个内核驻留在物理封装中。这是一个多路系统,因为有两个封装。
值得注意的是?physical id?和?core id?的编号可能是也可能不是连续的。系统上有两个物理封装并不罕见,而且?physical id?等于?0?和?3