Linux 超线程

Linux 超线程

1. 定义

超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。 以前的单核心处理器,在同一时间内只可以处理一项工作(线程:Thread),如果同时要处理一项以上的任务是不可能,在这种需求的驱使下,Intel开发了超线程技术,以一个单核心去模拟双核心的环境,但是这并非能够把处理器的效能提高双倍,因为它的本质上还只是一个核心,效能大约有20%-30%的增加。

超线程技术拥有很高的功耗效能比,加入超线程技术所增加的晶体管数目并不多以及功耗并不多,但是相比于增加一个完整的核心更具有性价比,另外加上i7架构拥有高带宽及高容量三级高速缓存的优势,更能将超线程技术的功耗发挥到极致。

2.比较

超线程处理器

它并不是物理上的多核,是逻辑上的,将一个物理核通过超线程技术模拟成两个逻辑核,迷惑操作系统,使得操作系统将自己视为两个物理核。

多核处理器

它是直接提供了多个物理上的处理器,只是这些处理器被封装到同一个芯片里并只占用一个处理器槽而已。

多处理器

多个处理器插槽。

3.怎么看一个机器是否开启超线程

(1)看物理cpu的个数

$ cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
2

(2)看每个物理cpu中core的个数(即平时说的几核几核)

$ cat /proc/cpuinfo | grep "cpu cores" | uniq | awk -F ":" '{print $2}'
6

(3)看每个物理cpu中逻辑cpu的个数

$ cat /proc/cpuinfo  | grep "siblings" | uniq | awk -F ":" '{print $2}'
12 

(4)怎么看

很明显,如果(3)的数字是(2)两倍,即每个物理cpu中逻辑core数是物理core数的两倍,那个就是开启了超线程。如果相等则没有,本文例子中12 = 6 * 2,故开启了超线程。

如何打开和关闭超线程

在BIOS中修改,这里不详细给出。

参考

【1】 http://baike.baidu.com/view/2794151.htm
【2】http://www.cppblog.com/guogangj/archive/2010/03/29/110801.html
【3】http://www.ipcpu.com/2010/08/linux-cpu-info/
【4】http://www.richweb.com/cpu_info

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值