免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 27591 | 回复: 7
打印 上一主题 下一主题

请教/proc/cpuinfo中siblings 和 cpu cores的区别! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-29 12:32 |只看该作者 |倒序浏览
请问各位大侠,/proc/cpuinfo中的siblings和cpu cores有什么区别?我查了redhat文档说是sibling表示每个物理cpu中的逻辑cpu个数,cpu cores表示每个物理cpu中核的个数,如果siblings和cpu cores相同,则表示没有启用超线程,如果siblings是cpu cores的两倍,表示启用了超线程。

但今天我在一台惠普的服务器上看到下面这个输出,系统是Redhat Enterprise Linux AS 4.6,这里没有启用超线程,因为逻辑cpu数和core id的数目是一样的。我查过Intel(R) Xeon(R) CPU E7420是4核cpu,但是这里为什么cpu cores的数目是8呢?谢谢!

[root@ktsjk ~]# more /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 13
model name      : Intel(R) Xeon(R) CPU           E7420  @ 2.13GHz
stepping        : 1
cpu MHz         : 2133.415
cache size      : 8192 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 8

fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi
mmx fxsr sse sse2 ss ht tm syscall lm pni monitor ds_cpl tm2 cx16 xtpr lahf_lm
bogomips        : 4270.24
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:
......

论坛徽章:
0
2 [报告]
发表于 2009-11-29 19:30 |只看该作者
如果你会用google搜,而你没搜,那么我会夸你懒死!
如果你不会,那么建议你学会。

google搜索:
http://xuev.blogbus.com/logs/40695517.html

/proc/cpuinfo 描述中有 6 个条目适用于多内核和超线程(HT)技术检查:processor, vendor id, physical id, siblings, core id 和 cpu cores。

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

[ 本帖最后由 marsaber 于 2009-11-29 19:33 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-11-30 08:40 |只看该作者
原帖由 marsaber 于 2009-11-29 19:30 发表
如果你会用google搜,而你没搜,那么我会夸你懒死!
如果你不会,那么建议你学会。

google搜索:
http://xuev.blogbus.com/logs/40695517.html

/proc/cpuinfo 描述中有 6 个条目适用于多内核和超线程( ...


我就是查过goole还没有弄清楚这个问题才发问的哦。我这里逻辑cpu的数目与核的数目相同,说明没有使用超线程。Intel(R) Xeon(R) CPU E7420是4核cpu,但是我这里的cpu cores显示为8,倒是siblings显示4表明一个物理cpu 中有4个逻辑cpu。如果按照cpu cores显示的为8核的话,那么逻辑cpu就应该有32个,core id也应该是32个才对啊,所以我觉得这里的cpu cores应该不能理解为物理cpu有8核吧?还请大虾们指教哦!

[root@ktsjk ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
4
[root@ktsjk ~]# cat /proc/cpuinfo | grep "siblings" | uniq
siblings        : 4
[root@ktsjk ~]# cat /proc/cpuinfo | grep "processor" | wc -l
16
[root@ktsjk ~]# cat /proc/cpuinfo | grep "core id" | sort | uniq | wc -l
16
[root@ktsjk ~]#

招聘 : 技术支持/维
论坛徽章:
0
4 [报告]
发表于 2010-01-23 01:43 |只看该作者

回复 #1 sincereli 的帖子

学习

论坛徽章:
0
5 [报告]
发表于 2012-09-09 03:00 |只看该作者
回复 3# sincereli


对于Intel(R) Xeon(R) CPU E7420,正确来说,应该有4个物理处理器,16个物理核。   
个人认为这是一个操作系统内核识别的BUG。参照 http://superuser.com/questions/3 ... se-physical-cpu-has

从 /proc/info 文件里的
cpu cores       : 8
可以看出系统内核认为有8个核(此处无法确定是逻辑还是物理核)

但是从
[root@ktsjk ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
4
[root@ktsjk ~]# cat /proc/cpuinfo | grep "siblings" | uniq
siblings        : 4
[root@ktsjk ~]# cat /proc/cpuinfo | grep "processor" | wc -l
16
[root@ktsjk ~]# cat /proc/cpuinfo | grep "core id" | sort | uniq | wc -l
16
可以看出该机器有4个物理处理器,16个逻辑处理器,16个核(此处同样无法确定是逻辑还是物理核)。每个物理处理器中有4个超线程。

从这个帖子(http://forums.gentoo.org/viewtopic-t-778610.html)得知:
Hyper-Threading creates logical CPUs (refered to as sibling CPUs by the kernel),也就是说SIBLING是内核认为的单个物理处理器所有的超线程个数。如果SIBLING等于实际物理核数的话,就说明没有启动超线程,反之启用超线程。

Intel(R) Xeon(R) CPU E7420是4核cpu,所以没有启用超线程。

注意,这一切都是操作系统认为的数据!有些操作系统版本会把启动了(或者说支持?)超线程的处理器/核的逻辑处理器数量加倍。比如单物理处理器单核启用超线程,有的内核会识别出2个核。core id或cpu cores就会是2,而不是1。如此似乎可以解释楼主的疑问了。具体解释可以参考帖子

论坛徽章:
13
15-16赛季CBA联赛之同曦
日期:2016-01-28 19:52:032015亚冠之北京国安
日期:2015-10-07 14:28:19NBA常规赛纪念章
日期:2015-05-04 22:32:03处女座
日期:2015-01-15 19:45:44卯兔
日期:2014-10-28 16:17:14白羊座
日期:2014-05-24 15:10:46寅虎
日期:2014-05-10 09:50:35白羊座
日期:2014-03-12 20:52:17午马
日期:2014-03-01 08:37:27射手座
日期:2014-02-19 19:26:54子鼠
日期:2013-11-30 09:03:56狮子座
日期:2013-09-08 08:37:52
6 [报告]
发表于 2012-09-09 09:00 |只看该作者
marsaber 发表于 2009-11-29 19:30
如果你会用google搜,而你没搜,那么我会夸你懒死!
如果你不会,那么建议你学会。


感谢分享 赞一个!  ^_^

论坛徽章:
0
7 [报告]
发表于 2012-11-27 19:43 |只看该作者
5楼神贴!!

各种并行、虚拟化技术,对于传统上按照CPU计价的一些商业软件,都需要和销售、客户讨论半天。。。

论坛徽章:
0
8 [报告]
发表于 2012-11-28 16:57 |只看该作者
呵呵,谢谢楼主了~~~~~~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP