首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

物理CPU CPU数 逻辑CPU线程的概念详解

linux下可以通过指令 grep ‘physical id’ /proc/cpuinfo | sort -u | wc -l 来查看你的物理CPU个数 cpu数就是指CPU上集中的处理数据的...而当超线程开启后,逻辑CPU的个数是数的两倍。实际上逻辑CPU的数量就是平时称呼的几线程中的线程数量,在linux的cpuinfo中逻辑CPU数就是processor的数量。...假设计算机有一个物理CPU,是双的,支持超线程。那么这台计算机就是双线程的。 所以两路(两路指的是有两个物理CPU)四线程就有2*4*2=16个逻辑CPU。...有人也把它称之为16,实际上在linux的/proc/cpuinfo中查看只有8。...既然计算机多核与超线程模拟相关,所以实际上计算机的数翻倍并不意味着性能的翻倍,也不意味着数越多计算机性能会越来越好,因为超线程只是充分利用了CPU的空闲资源,实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用

5.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

linux cenots 查看cpu

2.逻辑CPU Linux用户对 /proc/cpuinfo 这个文件肯定不陌生. 它是用来存储cpu硬件信息的,信息内容分别列出了processor 0 – n 的规格。...ht) 备注一下:Linux下top查看的CPU也是逻辑CPU个数 3.CPU数 一块CPU上面能处理数据的芯片组的数量、比如现在的i5 760,是双核心四线程CPU、而 i5 2250 是四核心四线程的...CPU,一般来说,物理CPU个数×每颗数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术。...4.查看CPU信息 当我们 cat /proc/cpuinfo 时,具有相同core id的CPU是同一个core的超线程,具有相同physical id的CPU是同一个CPU封装的线程或核心。...| grep "processor" |wc -l 32 【4】查看cpu是几cpu是8 [root@node1 ~]# cat /proc/cpuinfo | grep "cores"|uniq

9.4K30

线程真的会使用CPU所有的吗?

原文链接:http://www.jianshu.com/p/352caffd6366 学习多线程的时候,我们都知道如果多个线程分配到CPU多个内核是可以并发的执行...测试电脑是单CPU,4。按道理来说创建4个线程应该可以分配到4个内核同时执行。接下来执行测试代码看结果!...通过使用JDK自带监控工具:Visual VM 查看线程的执行过程,是不是真的如我想象,并发的执行线程呢? ? 关注红色框的内容,惊奇的发现,多个线程根本没有并发执行,而是不断的在线程之间上下文切换!...也就是说,4个线程都是在单个内核执行,其他的内核并没有工作! ? 这就有点颠覆我的认知了,后来不断的google、查阅资料我才发现,这个与操作系统CPU的算法有关系!...参考文章:https://www.zhihu.com/question/64072646 线程的调度是根据cpu的算法,如果线程的运算量不大,cpu算法调度线程不一定会平均分配给每个内核的。

84330

CPU 绑定

把某个进程/线程绑定到特定的cpu上后,该进程就会一直在此上运行,不会再被操作系统调度到其他上。但绑定的这个上还是可能会被调度运行其他应用程序的。...操作系统对多核cpu的调度 目前windows和linux都支持对多核cpu进行调度管理。 软件开发在多核环境下的核心是多线程开发。...多进程和多线程cpu上运行时情况如下: 每个 CPU 运行一个进程的时候,由于每个进程的资源都独立,所以 CPU 核心之间切换的时候无需考虑上下文 每个 CPU 运行一个线程的时候,有时线程之间需要共享资源...,所以这些资源必须从 CPU 的一个核心被复制到另外一个核心,这会造成额外的开销 绑定进程到cpu上运行 查看cpu有几个 使用cat /proc/cpuinfo查看cpu信息,如下两个信息: processor...cpu上运行 绑定线程cpu上使用pthread_setaffinity_np函数,其原型定义如下: #define _GNU_SOURCE /* See feature_test_macros

1.2K20

CPU 数与线程数有什么关系?

炒菜与线程 实际上CPU和厨师一样,都是按照菜谱(机器指令)去执行某个动作,从操作系统的角度讲当CPU切换回用户态后,CPU执行的一段指令就是线程,或者说属于某个线程。...傻傻的CPU CPU根本不理解自己执行的指令属于哪个线程CPU也不需要理解这些,CPU需要做的事情就是根据PC寄存器中的地址从内存中取出后执行,其它没了。 你看CPU才不管你系统内有多少线程。...因此如果你的目的是防止当前线程因执行某项操作而不得不等待,那么在这样的应用场景下,你根本就不需要关心系统内是单核还是多核以及有多少个。 阻塞式I/O 这也是使用线程的经典场景。...如果你的场景是想充分利用多核,那么这时你的确需要知道系统内有多少数,一般来说你创建的线程数需要与数保持线性关系。 也就是说,如果你的数翻倍,那么创建的线程数也要翻倍。 需要多少线程?...但当你需要利用线程充分发挥多核威力时,通常情况下你创建的线程数与数要保持一种线性关系,最佳系数通常需要测试才能得到。

2.2K50

CPU 数与线程数有什么关系?

炒菜与线程 实际上CPU和厨师一样,都是按照菜谱(机器指令)去执行某个动作,从操作系统的角度讲当CPU切换回用户态后,CPU执行的一段指令就是线程,或者说属于某个线程。...傻傻的CPU CPU根本不理解自己执行的指令属于哪个线程CPU也不需要理解这些,CPU需要做的事情就是根据PC寄存器中的地址从内存中取出后执行,其它没了。 你看CPU才不管你系统内有多少线程。...因此如果你的目的是防止当前线程因执行某项操作而不得不等待,那么在这样的应用场景下,你根本就不需要关心系统内是单核还是多核以及有多少个。...如果你的场景是想充分利用多核,那么这时你的确需要知道系统内有多少数,一般来说你创建的线程数需要与数保持线性关系。 也就是说,如果你的数翻倍,那么创建的线程数也要翻倍。 需要多少线程?...但当你需要利用线程充分发挥多核威力时,通常情况下你创建的线程数与数要保持一种线性关系,最佳系数通常需要测试才能得到。

6.3K40

cpu-pining CPU绑定

这个虚拟机是2个vCPU 双的,然后都是跑在了物理机的CPU8上,使用的时间是2964.6s。...最后一个是CPU的亲和性,这个yyyyy 表示的是使用的物理CPU内部的逻辑,一个y就代表其中一个CPU逻辑。全部是y ,那么说明这台物理机的24个CPU,这个CPU都能调度使用。...Win7-ent 18-23 –live 通过这个命令,我们把这个win7的虚拟机vCPU绑定在了18-23这6个CPU之间的上。...一个虚拟机我有两个vCPU, 比如这个win7 ,它就是双的,我想让里面的vCPU1和vCPU2分别绑定在不同的物理CPU上可以吗?怎么操作呢?...这里要注意的是,你把虚拟机用reboot重启,这个绑定配置还是生效的,但是你shutdown的话,CPU绑定的效果会失效。

1.9K40

CPU数和线程 (池)数量的关系(概念理解)

问题 是不是cpu数越高,性能有越好好 性能高关键并发能力强, 问题转移到 多线程cpu 数的关系?...,没有考虑到线程切换带来的损耗,如果线程切换损耗 2ms,那么使用多线程得不偿失,具体情况具体分析,当然谁也不会精确计算程序执行时间,这里需要在调试阶段或者日志记录中寻找瓶颈 3 多线程cpu 数的关系...一个程序等待IO时间 和处理逻辑时间 那个长 多线程只是为了提高 CPU 利用率,客观的说多线程是跟 CPU 数是没有关系的,不要混淆概念,现代计算机的单 CPU 多核(相比较多 CPU 单核)都是为了提高计算效率...,多线程CPU 数是没有关系的 总之多线程只是逻辑上的做事的方式,CPU 数是提高效率的物理手段 4 超线程线程这个概念很有意思,上学的时候课本应该是有介绍的,请允许copy一段过来 4.2...5 综述 我服务器是64的,请问业务流程配置多个线程 性能更好呢? 多线程的用途是IO延迟隐藏,提高程序并发能力和CPU数毫无关系 具体需要结合业务进程测试验证!

5K60

CPU的意义

Linux内核中关于进程或者线程的表示通常用task_struct,这个结构体中的用来表示CPU亲和性的是cpus_allowed位掩码。...同时Linux 内核API提供用于用户修改掩码来绑定CPU //用于绑定线程或者进程在某个CPU上运行 sched_set_affinity() // 查看线程或者进程在哪一个CPU运行 sched_get_affinity...() //线程绑定到某个CPU Core int pthread_setaffinity_np(pthread_t thread, size_t cpusetsize, const cpu_set_t...CPU适应的情况 计算密集型的进程 运行时间敏感、核心的进程 CPU进程或者线程独占 进程或者线程绑定到某个CPU Core,仍然可能会有线程或者进程切换的发生,如果想到达到进一步减少其他进程对于该进程或者线程影响...,可以采取把CPU Core从Linux内核调度中剥离出来。

2.4K70

CPU数怎么计算?

物理cpu数 主板上实际插入的cpu数量,可以数不重复的 physical id 有几个(physical id) # Linux cat /proc/cpuinfo | grep "physical...id" | sort | uniq | wc -l cpu数 单块CPU上面能处理数据的芯片组的数量,如双、四等 (cpu cores) # Linux cat /proc/cpuinfo |...# Linux cat /proc/cpuinfo | grep "processor" | wc -l 操作系统可以使用逻辑CPU来模拟出真实CPU的效果。...在之前没有多核处理器的时候,一个CPU只有一个,而现在有了多核技术,其效果就好像把多个CPU集中在一个CPU上。 当计算机没有开启超线程时,逻辑CPU的个数就是计算机的数。...而当超线程开启后,逻辑CPU的个数是数的两倍。 by 斯武丶风晴 https://my.oschina.net/langxSpirit

4.5K10

java高级用法之:绑定CPU线程Thread-Affinity

简介 在现代计算机系统中,可以有多个CPU,每个CPU又可以有多核。为了充分利用现代CPU的功能,JAVA中引入了多线程,不同的线程可以同时在不同CPU或者不同CPU中运行。...Java Thread Affinity简介 java thread Affinity是用来将JAVA代码中的线程绑定CPU特定的上,用来提升程序运行的性能。...CPU Core指的是CPU中的数,在很久之前CPU都是单核的,但是随着多核技术的发展,一个CPU中可以包含多个,而CPU中的就是真正的进行业务处理的单元。...其他7个CPU是可用的,但是只绑定了4个线程,这和我们之前的分析是匹配的。...core中,因为在当前的硬件中,一个core同时只能支持一个线程绑定,所以可以预见最后的结果只会绑定一个线程,运行结果如下: The assignment of CPUs is 0: CPU not

76530

Linux 多核下绑定硬件中断到不同 CPU

光有高级可编程中断控制器的硬件支持还不够,Linux 内核还必须能利用到这些硬件特质,所以只有 kernel 2.4 以后的版本才支持把不同的硬件中断请求(IRQs)分配到特定的 CPU 上,这个绑定技术被称为...更多介绍请参看 Linux 内核源代码自带的文档:linux-2.6.31.8/Documentation/IRQ-affinity.txt 如何使用 先看看系统上的中断是怎么分配在 CPU 上的,很显然...IRQ 到不同 CPU,否则自己手动绑定做的更改将会被自动调节进程给覆盖掉。...如果想修改 IRQ 90 的中断处理,绑定到第2个 CPUCPU1): # /etc/init.d/irqbalance stop # echo "2" > /proc/irq/90/smp_affinity...CPU 上将会减轻某个 CPU 的负担,提高多个 CPU 整体处理中断的能力; 对于数据库服务器这样的应用来说,把磁盘控制器绑到一个 CPU、把网卡绑定到另一个 CPU 将会提高数据库的响应时间、优化性能

5.3K83
领券