zoukankan      html  css  js  c++  java
  • 超线程

    超线程

    “超线程”(Hyperthreading Technology)技术就是通过采用特殊的硬件指令,可以把两个逻辑内核模拟成两个物理超线程芯片,在单处理器中实现线程级的并行计算,同时在相应的软硬

    件的支持下大幅度的提高运行效能,从而实现在单处理器上模拟双处理器的效能。其实,从实质上说,超线程是一种可以将CPU内部暂时闲置处理资源充分“调动”起来的技术。

    在判断当前是否开启了超线程之前,需要先判断另外几个数据:
    1,物理CPU个数:

    1
    2
    3
    [root@localhost ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq
    physical id : 0
    physical id : 1

    可以看到物理CPU个数为2,物理CPU也就是机器外面就能看到的一个个CPU,每个物理CPU还带有单独的风扇。
    2,每个物理CPU的逻辑核数:

    1
    2
    [root@localhost ~]# cat /proc/cpuinfo | grep "cores" | uniq
    cpu cores   : 6

    3,系统整个cpu线程数:

    1
    2
    [root@localhost ~]# cat /proc/cpuinfo | grep "processor" | wc -l
    24

    有了三面几个数据,就可以判断当前是否开启了超线程了,没开启超线程的情况下,系统的cpu线程数=物理CPU个数*每个物理CPU的逻辑核数*1,因为每个逻辑核只跑了1个cpu线程,如果开启了超线程,那么cpu线程数=物理CPU个数*每个物理CPU的逻辑核数*2,因为每个逻辑核跑了2个cpu线程。所以,上面的24=2*6*2,可以判断当前开启了超线程。

    1
    2
    3
    [root@localhost ~]# cat /proc/cpuinfo | grep "model name" | uniq
    model name  : Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz
    [root@localhost ~]#
     
  • 相关阅读:
    Java基础语法(11)-面向对象之关键字
    Java基础语法(10)-面向对象之三大特征
    Java基础语法(9)-面向对象之类的成员
    Java基础语法(8)-数组中的常见排序算法
    Java基础语法(7)-数组
    Java基础语法(6)-注释
    Java基础语法(5)-特殊流程控制语句
    Java基础语法(4)-流程控制
    Java基础语法(3)-运算符
    sunset: dawn
  • 原文地址:https://www.cnblogs.com/hero4china/p/6846143.html
Copyright © 2011-2022 走看看