超线程

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

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

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


1

2

3

[[email protected] ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq

physical id : 0

physical id : 1

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


1

2

[[email protected] ~]# cat /proc/cpuinfo | grep "cores" | uniq

cpu cores   : 6

3,系统整个cpu线程数:


1

2

[[email protected] ~]# 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

[[email protected] ~]# cat /proc/cpuinfo | grep "model name" | uniq

model name  : Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz

[[email protected] ~]#

时间: 2024-10-28 11:41:29

超线程的相关文章

cat /proc/cpuinfo 引发的思考--CPU 物理封装-物理核心-逻辑核心-超线程之间关系

CPU的物理封装,一个物理封装使用独立的一个CPU物理插槽,共享电源和风扇: CPU物理核心:在一个物理封装中封装了多个独立CPU核心,每一个CPU核心都有自己独立的完整硬件单元. CPU逻辑核心:一个CPU物理核心对外表现为多个独立的外部CPU接口,称这种每一个CPU接口为一个逻辑核心.其内部可能共享运行单元和缓存等. CPU逻辑核心是超线程技术下的产物,假设没有超线程技术,有多少颗物理CPU核心,OS就觉得有多少颗CPU.OS是根据CPU的外部接口来识别CPU数据,而不是根据CPU的实际内部

在Linux下判断系统当前是否开启了超线程

#lscpu Thread(s) per core: 2Core(s) per socket: 6Socket(s): 2 ----------------------------------------------- 在判断当前是否开启了超线程之前,需要先判断另外几个数据:1,物理CPU个数: 1 2 3 [[email protected] ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq physical id :

关于进程、线程、协程、管程、纤程、超线程的对比理解

1.进程 任务.作业(Job,Task,Schedule):在进程的概念出现之前,进程有着这样的称谓. 为了使多个程序能够并发(同一时刻只有一个在运行,但感觉起来像多个同时运行:并行(同一时刻真的多个在运行,不是感觉像多个))的执行,操作系统需要一个结构来抽象和表示这个程序的运行. 特性: 1.进程是操作系统对一个正在运行的程序的一种抽象结构. 2.进程是指在操作系统中能独立运行并作为资源分配的基本单位,由一组机器指令.数据和堆栈等组成的能独立运行的活动实体. 3.操作系统可以同时运行多个进程,

C++11线程,亲合与超线程

原作者:Eli Bendersky http://eli.thegreenplace.net/2016/c11-threads-affinity-and-hyperthreading/ 背景与简介 多年来,C与C++标准将多线程及并发处理排斥在外--在"目标机器依赖"世界的阴影之中,以"抽象机器"为目标的标准不包括它.在堆积如山,涉及并发的邮件列表及新闻组提问中,直接而冷血的"C++不知道线程是什么"的回答将永远提醒着这个过去. 不过这一切随着C

【分享】如何查看Linux主机的CPU物理数、核数以及超线程数

1.具有相同core id的cpu是同一个core的超线程.(Physical id and core id are not necessarily consecutive but they are unique. Any cpu with the same core id are hyperthreads in the same core.) 2.具有相同physical id的cpu是同一颗cpu封装的线程或者cores.(Any cpu with the same physical id

linux下cpu物理个数、多核、超线程判断解析

在Linux体系中,供给了proc文件体系显示体系的软硬件信息.若是想懂得体系中CPU的供给商和相干设备信息,则可以经由过程/proc/cpuinfo文件获得.本文章针对该文件进行简单的总结. 基于指令集(ISA)的CPU产生的/proc/cpuinfo文件不一样,基于X86指令集CPU的/proc/cpuinfo文件包含如下内容: processor       : 0vendor_id       : GenuineIntelcpu family      : 6model         

sql server是否超线程?

使用sys.dm_sys_info 这个视图的时候经常对hyperthread_ratio这个列感觉迷惑.这个列的含义到底是什么? 翻译的外国大神的一篇文章, http://sqlblog.com/blogs/kalen_delaney/archive/2007/12/08/hyperthreaded-or-not.aspx 在我的课堂上或者每次我做性能顾问的时候,我经常会遇到一个问题“我怎么确定我们的SQL SERVER是否是超线程的”? 当我发现DMV--sys.dm_sys_info有一个

[转]物理CPU、CPU核数、逻辑CPU、超线程

转自:http://wulc.me/2016/01/06/物理CPU.CPU核数.逻辑CPU.超线程/ 基本概念 物理CPU: 物理CPU就是插在主机上的真实的CPU硬件,在Linux下可以数不同的physical id 来确认主机的物理CPU个数. 核心数: 物理CPU下一层概念就是核心数,我们常常会听说多核处理器,其中的核指的就是核心数.在Linux下可以通过cores来确认主机的物理CPU的核心数. 逻辑CPU: 核心数下一层的概念是逻辑CPU,逻辑CPU跟超线程技术有联系,假如物理CPU

openmpi-3.0.1超线程报错问题

先简单记录一下,虽然还有一些疑惑没有解决. 之前安装openmpi是用的命令安装,版本比较低,mfix并行总出现死锁问题,于是想看看是不是openmpi版本导致,虽然目前还未找到具体原因,但是先记录下踩到的坑. 下载openmpi最新版本:https://www.open-mpi.org/software/ompi/v3.0/ 安装openmpi具体方法参见:http://www.cnblogs.com/platero/p/4182436.html 安装主要是这几个命令: ./configure