使用/proc文件系统和内核打交道(2)-确定系统的CPU情况

  • proc/cpuinfo 确定系统的CPU情况

    当我们进行并行编程的时候,往往需要知道分配多少个并行处理的工作块给处理器,这是我们需要查看 proc/cpuinfo来确定.
    但是由于结果中有很多相似容易混淆的概念.

     一些操作系统的最新版本已经更新了 /proc/cpuinfo 文件,以支持多路平台。如果您的系统中的 /proc/cpuinfo 文件能够正确地反映出处理器信息,可采用本文中的信息进行解释。

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

    • processor 条目包括这一逻辑处理器的唯一标识符。
    • physical id 条目包括每个物理封装的唯一标识符。
    • core id 条目保存每个内核的唯一标识符。
    • siblings 条目列出了位于相同物理封装中的逻辑处理器的数量。
    • cpu cores 条目包含位于相同物理封装中的内核数量。
    • 如果处理器为英特尔处理器,则 vendor id 条目中的字符串是 GenuineIntel


    拥有相同 physical id 的所有逻辑处理器共享同一个物理插座。每个 physical id 代表一个唯一的物理封装。Siblings 表示位于这一物理封装上的逻辑处理器的数量。它们可能支持也可能不支持超线程(HT)技术。每个core id 均代表一个唯一的处理器内核。所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。如果有一个以上逻辑处理器拥有相同的core idphysical id,则说明系统支持超线程(HT)技术。如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id 不同,则说明这是一个多内核处理器。cpu cores 条目也可以表示是否支持多内核。

    例如,如果系统包含两个物理封装,每个封装中又包含两个支持超线程(HT)技术的处理器内核,则 /proc/cpuinfo 文件将包含此数据。(注:数据并不在表格中。)
    <!--[if !supportLineBreakNewLine]-->
    <!--[endif]-->

     processor

     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 idcore id 的编号可能是也可能不是连续的。系统上有两个物理封装并不罕见,而且 physical id 等于 0 和 3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值