理解Linux /proc/cpuinfo

/proc/cpuinfo文件包含系统上每个处理器的数据段落。/proc/cpuinfo 描述中有6个条目适用于多内核和超线程(HT)技术检查:processor, vendor id, physical id, siblings, core id 和 cpu cores。为理解上述信息,首先理解几个概念:

超线程处理器(hyperthreaded processor)和普通的处理器有相同的计算模块,但是超线程处理器有多个执行上下文环境。使用超线程技术可以使一个物理处理器虚拟出多个逻辑处理器,因此一个超线程处理器只有一个物理id,但可以有多个逻辑id。

双核处理器(dual core processor)则有两套计算模块,而这两套模块可以共享L2 cache;双核处理器已有多个物理id。

  • /proc/cpuinfo输出个条目意义如下:
  • processor:逻辑处理器的唯一标识符。
  • physical id:物理封装的唯一标识符。
  • core id:内核的唯一标识符(在我的系统中,好像是一个物理封装的唯一标示)。
  • siblings:位于相同物理封装中的逻辑处理器的数量。
  • cpu cores:位于相同物理封装中的内核数量。

简单地说,如果采用多核技术,一个物理封装(physical id)会对应(cpu cores)个内核(core id);如果采用超线程技术,一个内核会对应(siblings)/(cpu cores)个逻辑处理器(processor)。

假设所有的物理封装一样,则有以下关系:

processor = physical_id * siblings

siblings =  cpu cores * 2(超线程数)

 

posted on 2010-12-21 16:38  究生  阅读(617)  评论(0编辑  收藏  举报

导航