linux 超线程及其原理,以及如何查看是否开启了超线程
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 超线程及其原理,以及如何查看是否开启了超线程相关推荐
- Android 6.0 JNI原理分析 和 Linux系统调用(syscall)原理
JNI原理 引言:分析Android源码6.0的过程,一定离不开Java与C/C++代码直接的来回跳转,那么就很有必要掌握JNI,这是链接Java层和Native层的桥梁,本文涉及相关源码: fram ...
- 【Linux】Linux的挂载原理 |MOUNT|挂载NAS|自动挂载
目录 零.常用挂载命令 一.Linux的挂载原理 1.概念 2.举例 3.补充 4.LINUX文件结构和WINDOWS的不同 5.挂载文件系统 6.mount结构与原理 7.mount 和umount ...
- Linux 快照 (snapshot) 原理与实践(二) 快照功能实践
文章目录 0. 概要 1. 准备演示数据 2. 创建 snapshot-origin 目标 3. 创建 snapshot 目标 4. 验证 COW 操作 4.1 第一次写数据 4.2 第二次写数据 5 ...
- linux字体技术原理
linux字体技术原理 2008-09-27 10:44:07| 分类: linux |字号 订阅 我们要理解X的字体引擎. X中支持Truetype字体(一种可放缩字体) 的主要有四种引擎. fr ...
- Linux 路由实现原理
目录 前言 一.什么时候需要路由 1.1 发送数据时选路 1.2 接收数据时选路 1.3 linux 路由小结 二.Linux 的路由实现 2.1 路由表 2.2 路由查找 三.路由的使用方法 3.1 ...
- Linux 企业级安全原理和防范技巧
Linux 企业级安全原理和防范技巧 1. 企业级Linux系统防护概述 1.1 企业级Linux系统安全威胁 1.2 企业级Linux系统安全立体式防范体系 1.2.1 Linux文件系统访问安全 ...
- NO21 Llinux的文件种类与扩展名--文件权限--软硬链接--Linux删除文件原理
Linux的文件种类与扩展名 一.文件种类: 1.普通文件(regular file)第一个字符为[ - ] 包括: ①纯文本档(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本档.是 ...
- linux bonding的原理及其实现,Linux bonding研究及实现
Linux Bonding 本文介绍Linux(具体发行版本是CentOS5.6)下的双卡绑定的原理及实现. Linux双网卡绑定实现是使用两块网卡虚拟成为一块网卡设备,这简单来说,就是两块网卡具有相 ...
- 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD.ARM.x86.x86_64.pcc 文章目录: 1 ...
最新文章
- 109. Convert Sorted List to Binary Search Tree
- Prebuilt binaries of PCL (point cloud library) for Linux
- 济南市软件测试工程师的工资水平,软件测试工程师工资怎么样?高吗?
- 正式发布python版本的年份_飞书全新版本π正式发布 高效便捷的团队沟通新工具...
- android eventbus view,Android-EventBus框架详细介绍与简单实现
- 脉动风时程matlab程序,脉动风时程matlab程序.doc
- 什么是连接池?为什么需要连接池呢?连接池的组成原理又是什么呢?
- SpringBoot四种读取properties文件的方式
- 08.音频系统:第004课_Android音频系统详解:第002节_以例子说明几个重要概念
- 销售竞争情报实战--徐凌云老师
- 计算机专业新手小白学编程如何选择笔记本电脑
- office精英俱乐部_开放组织读书俱乐部:收回精英制
- 详细介绍文本检索基准BEIR: A Heterogeneous Benchmark for Zero-shot Evaluation of Information Retrieval Models
- 关于thread中mutex相关内容的理解
- AI 人工智能 探索 (九)
- “三高“Mysql - Mysql备份概览
- 达人评测 i5 1135g7和i5 11300h的区别
- 软件工程-----层次图
- 路由器DNS代理的工作原理介绍
- IT人员转行写小白文可以么?
热门文章
- 计算机辅助模具设计实训心得6,模具设计毕业设计总结范文
- Verilog数字系统设计——4 选1 多路选择器
- 高手项目经理和PMO都是这样写项目总结的
- 如何在Windows中修改您的名字和公司名?
- 这只鹅虽然没有什么用,但是好可爱呀!
- VS运行程序时被McAfee当作病毒阻止
- python scipy integrate_使用scipy.integrate.odeint()计算衰减
- 做好公司网站建设方案的关键在于这些方面
- chrome控制台打开太慢解决方案
- appium踩坑(VIVO手机)报错:An unknown server-side error occurred while processing the command.Original error