1. 超线程

超线程是英特尔开发出来的一项技术,使得单个处理器可以象两个逻辑处理器那样运行,这样单个处理器以并行执行线程。
这里的单个处理器也可以理解为CPU的一个核心;这样便可以理解为什么开启了超线程技术后,逻辑CPU的数目是核心数的两倍了。

2. 超线程技术实现并行操作的原理

一个线程在执行时会占用CPU资源,其他线程想要得到执行就必须等待该线程将CPU资源让出。

利用超线程技术,模拟出的两个逻辑内核共享同一个CPU资源,所以同一时刻可以有两个线程都占用CPU资源,因此这两个线程都可以得到执行,这就是实现同一时间执行两个线程的并行操作。

比如说:

有个单核的CPU,想要运行一个多线程的程序,通常情况下,只能是由Cpu在线程之间来回调度,但是当开启了超线程之后,可以在一个线程执行整数指令集的时候,而恰好在这个时候,另一个线程执行浮点指令集,而这两个指令集分别由整数指令单元和浮点指令单元来执行。就可以同时执行这两个线程,这就叫超线程。而且实际上,是有大量资源被闲置着的。超线程技术允许两个线程同时不冲突地使用CPU中的资源。指令单元闲置,可以通过超线程的技术来达到提高利用率。这叫做硬件多线程技术。

3. 如何查看是否开启了超线程

通过查看物理CPU数,每个CPU的逻辑核数,CPU线程数可以得知是否开启了超线程。

  • 物理CPU数

    • 物理CPU就是插在主机上的真实的CPU硬件,在Linux下可以数不同的physical id 来确认主机的物理CPU个数。
    • 可以看到 当前机器拥有2颗物理CPU
[root@localhost daxiang]# cat /proc/cpuinfo | grep "physical id" | sort | uniq
physical id     : 0
physical id     : 1
  • 单个CPU的逻辑核心数量

    • 我们常常会听说多核处理器,其中的核指的就是核心数。在Linux下可以通过cores来确认主机的物理CPU的核心数。
    • 可以看到每颗CPU拥有6个逻辑核心
[root@localhost daxiang]# cat /proc/cpuinfo | grep "cores" | uniq
cpu cores       : 6 
  • 系统CPU线程数

    • 逻辑CPU跟超线程技术有联系,假如物理CPU不支持超线程的,那么逻辑CPU的数量等于核心数的数量;
    • 如果物理CPU支持超线程,那么逻辑CPU的数目是核心数数目的两倍。
    • 在Linux下可以通过 processors 的数目来确认逻辑CPU的数量。当前机器拥有24个CPU线程
[root@localhost daxiang]# cat /proc/cpuinfo | grep "processor" | wc -l
24

综上所述:这台机器拥有2颗物理CPU,每个CPU有6个逻辑核心,系统一共拥有24个CPU线程。显然开启了多线程

linux 超线程及其原理,以及如何查看是否开启了超线程相关推荐

  1. Android 6.0 JNI原理分析 和 Linux系统调用(syscall)原理

    JNI原理 引言:分析Android源码6.0的过程,一定离不开Java与C/C++代码直接的来回跳转,那么就很有必要掌握JNI,这是链接Java层和Native层的桥梁,本文涉及相关源码: fram ...

  2. 【Linux】Linux的挂载原理 |MOUNT|挂载NAS|自动挂载

    目录 零.常用挂载命令 一.Linux的挂载原理 1.概念 2.举例 3.补充 4.LINUX文件结构和WINDOWS的不同 5.挂载文件系统 6.mount结构与原理 7.mount 和umount ...

  3. Linux 快照 (snapshot) 原理与实践(二) 快照功能实践

    文章目录 0. 概要 1. 准备演示数据 2. 创建 snapshot-origin 目标 3. 创建 snapshot 目标 4. 验证 COW 操作 4.1 第一次写数据 4.2 第二次写数据 5 ...

  4. linux字体技术原理

    linux字体技术原理 2008-09-27 10:44:07|  分类: linux |字号 订阅 我们要理解X的字体引擎. X中支持Truetype字体(一种可放缩字体) 的主要有四种引擎. fr ...

  5. Linux 路由实现原理

    目录 前言 一.什么时候需要路由 1.1 发送数据时选路 1.2 接收数据时选路 1.3 linux 路由小结 二.Linux 的路由实现 2.1 路由表 2.2 路由查找 三.路由的使用方法 3.1 ...

  6. Linux 企业级安全原理和防范技巧

    Linux 企业级安全原理和防范技巧 1. 企业级Linux系统防护概述 1.1 企业级Linux系统安全威胁 1.2 企业级Linux系统安全立体式防范体系 1.2.1 Linux文件系统访问安全 ...

  7. NO21 Llinux的文件种类与扩展名--文件权限--软硬链接--Linux删除文件原理

    Linux的文件种类与扩展名 一.文件种类: 1.普通文件(regular file)第一个字符为[ - ] 包括: ①纯文本档(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本档.是 ...

  8. linux bonding的原理及其实现,Linux bonding研究及实现

    Linux Bonding 本文介绍Linux(具体发行版本是CentOS5.6)下的双卡绑定的原理及实现. Linux双网卡绑定实现是使用两块网卡虚拟成为一块网卡设备,这简单来说,就是两块网卡具有相 ...

  9. 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD.ARM.x86.x86_64.pcc 文章目录: 1 ...

最新文章

  1. 109. Convert Sorted List to Binary Search Tree
  2. Prebuilt binaries of PCL (point cloud library) for Linux
  3. 济南市软件测试工程师的工资水平,软件测试工程师工资怎么样?高吗?
  4. 正式发布python版本的年份_飞书全新版本π正式发布 高效便捷的团队沟通新工具...
  5. android eventbus view,Android-EventBus框架详细介绍与简单实现
  6. 脉动风时程matlab程序,脉动风时程matlab程序.doc
  7. 什么是连接池?为什么需要连接池呢?连接池的组成原理又是什么呢?
  8. SpringBoot四种读取properties文件的方式
  9. 08.音频系统:第004课_Android音频系统详解:第002节_以例子说明几个重要概念
  10. 销售竞争情报实战--徐凌云老师
  11. 计算机专业新手小白学编程如何选择笔记本电脑
  12. office精英俱乐部_开放组织读书俱乐部:收回精英制
  13. 详细介绍文本检索基准BEIR: A Heterogeneous Benchmark for Zero-shot Evaluation of Information Retrieval Models
  14. 关于thread中mutex相关内容的理解
  15. AI 人工智能 探索 (九)
  16. “三高“Mysql - Mysql备份概览
  17. 达人评测 i5 1135g7和i5 11300h的区别
  18. 软件工程-----层次图
  19. 路由器DNS代理的工作原理介绍
  20. IT人员转行写小白文可以么?

热门文章

  1. 计算机辅助模具设计实训心得6,模具设计毕业设计总结范文
  2. Verilog数字系统设计——4 选1 多路选择器
  3. 高手项目经理和PMO都是这样写项目总结的
  4. 如何在Windows中修改您的名字和公司名?
  5. 这只鹅虽然没有什么用,但是好可爱呀!
  6. VS运行程序时被McAfee当作病毒阻止
  7. python scipy integrate_使用scipy.integrate.odeint()计算衰减
  8. 做好公司网站建设方案的关键在于这些方面
  9. chrome控制台打开太慢解决方案
  10. appium踩坑(VIVO手机)报错:An unknown server-side error occurred while processing the command.Original error