• 如何判断是否开启超线程


      “超线程(Hyper-Threading,简称“HT”)”技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。

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

    如何查看有几个处理器,是否多核?是否超线程?


    可通过如下方法查询CPU情况:

    1. 逻辑CPU个数:

    grep -c processor /proc/cpuinfo


    2. 物理CPU个数:

    grep 'physical id' /proc/cpuinfo |sort -u|wc -l




    “siblings”指的是一个物理CPU有几个逻辑CPU

    grep 'siblings' /proc/cpuinfo




    ”cpu cores“指的是一个物理CPU有几个核

    grep 'cpu cores' /proc/cpuinfo




    如果“siblings”和“cpu cores”一致,则说明不支持超线程,或者超线程未打开。
    如果“siblings”是“cpu cores”的两倍,则说明支持超线程,并且超线程已打开。
    是否为超线程?
    如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。


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


    processor 0 4 2 6 1 5 3 7
    physical id 0 0 0 0 1 1 1 1
    core id 0 0 1 1 2 2 3 3
    siblings 4 4 4 4 4 4 4 4
    cpu cores 2 2 2 2 2 2 2 2


    此例说明:
    1)一个物理封装有四个内核,即有4个逻辑处理器。
    2)一个内核上有2个不同的processer,即系统支持超线程技术(HT)。


    值得注意的是physical id和core id的编号可能是也可能不是连续的。系统上有两个物理封装并不罕见,而且physical id可能等于0和3。

  • 相关阅读:
    SQL JOIN
    string.Empty, "" 和 null 三者的区别
    java JDBC
    java 自定义注解
    Spring Bean自动检测
    Spring Aware接口
    IObservable 接口
    CloseHandle()函数的使用
    [置顶] 记一次讲座与前辈的对话
    让用户关上门说话:覆盖全美6000个社区的邻居私密社交网站Nextdoor是如何壮大的?
  • 原文地址:https://www.cnblogs.com/augusite/p/10608447.html
Copyright © 2020-2023  润新知