linux下查看HT(超级线程)是否打开

回复 收藏
HT(超线程)技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。
    超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4 HT的die的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。

  虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每各CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。

    如何查看是否打开了HT呢?
    首先查看机器有几个物理CPU,方法是   grep 'physical id' /proc/cpuinfo | sort | uniq | wc -l  。然后再用以下命令grep 'cpu cores' /proc/cpuinfo获取每颗CPU的核数和系统中能够看到的总CPU核数:
      1)如果总核数=每颗CPU核数*系统实际CPU数量,那么系统没有打开HT;
      2)如果总核数=每颗CPU核数*系统实际CPU数量*2,那么系统是打开HT的。
2011-03-07 17:18 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: