精华内容
下载资源
问答
  • wmic查看cpu核心与线程

    千次阅读 2019-05-08 10:57:59
    在Windows中,在cmd命令中输入“wmic”,然后在出现的新窗口中分别输入“cpu get Name”,“cpu get NumberOfCores”,“cpu get NumberOfLogicalProcessors”即可查看物理CPU数、CPU核心数、线程数。 如下图所示: ...

    WMIC(Windows Management InstrumentationCommand Line)

    在Windows中,在cmd命令中输入“wmic”,然后在出现的新窗口中分别输入“cpu get Name”,“cpu get NumberOfCores”,“cpu get NumberOfLogicalProcessors”即可查看物理CPU数、CPU核心数、线程数。
    如下图所示:

    展开全文
  • CPU核心线程的关系

    2019-12-27 10:17:28
    CPU的核心数是指物理上,也就是硬件上存在着...比如,可以通过一个CPU核心数模拟出2线程的CPU,也就是说,这个单核心的CPU被模拟成了一个类似双核心CPU的功能。我们从任务管理器的性能标签页中看到的是两个CPU。 cpu...

    CPU的核心数是指物理上,也就是硬件上存在着几个核心。比如,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU核心单元组,等等,依次类推。

    线程数是一种逻辑的概念,简单地说,就是模拟出的CPU核心数。比如,可以通过一个CPU核心数模拟出2线程的CPU,也就是说,这个单核心的CPU被模拟成了一个类似双核心CPU的功能。我们从任务管理器的性能标签页中看到的是两个CPU。

    cpu线程是一堆寄存器,例如当前指令寄存器地址,堆栈指针,页面寄存器等.x86 cpu刚刚开始支持多线程切换,并在cpu指令级实现线程切换,如任务门。但是操作系统通常不使用此函数,而是仅使用一个线程通过修改堆栈指针来实现线程切换。,64位x86将取消任务门。

    因此,cpu的线程与操作系统所说的线程几乎没有关系。即使CPU不支持线程,操作系统也可以实现线程。要说连接,现在多核cpu,有多个虚拟cpu,每个虚拟cpu都有一个cpu线程,为了发挥cpu的最大效果,操作系统还必须准备相应数量的线程。

    展开全文
  • CPU核心与线程数详解

    千次阅读 2020-03-29 21:58:42
    一开始,每个物理 cpu 上只有一个核心(a single core),对操作系统而言,也就是同一时刻只能运行一个进程/线程。 为了提高性能,cpu 厂商开始在单个物理 cpu 上增加核心(实实在在的硬件存在),也就出现了双核心...

    CPU:

            CPU就是中央处理单元,物理CPU数就是CPU的硬件个数(socket)。

    核心:

            一开始,每个物理 cpu 上只有一个核心(a single core),对操作系统而言,也就是同一时刻只能运行一个进程/线程。 为了提高性能,cpu 厂商开始在单个物理 cpu 上增加核心(实实在在的硬件存在),也就出现了双核心 cpu(dual-core cpu)以及多核心 cpu(multiple cores),这样一个双核心 cpu 就是同一时刻能够运行两个进程/线程的。

    同时多线程技术(simultaneous multithreading)和 超线程技术(hyper–threading/HT)

          本质一样,是为了提高单个 core 同一时刻能够执行的多线程数的技术(充分利用单个 core 的计算能力,尽量让其“一刻也不得闲”)。

           simultaneous multithreading 缩写是 SMT,AMD 和其他 cpu 厂商的称呼。 hyper–threading 是 Intel 的称呼,可以认为 hyper–threading 是 SMT 的一种具体技术实现。

    在类似技术下,产生了如下等价术语:

    • 虚拟 core: virtual core
    • 逻辑 processer: logical processor
    • 线程:thread

            所以可以这样说:某款采用 SMT 技术的 4 核心 AMD cpu 提供了 8 线程同时执行的能力;某款采用 HT 技术的 2 核心 Intel cpu 提供了 4 线程同时执行的能力。

            为了给电脑更高的性能,一个cup中集成了多个内核,这样电脑的性能就成倍的提升。随着科技的发展,我们发现每个内核的性能也变的十分强大,于是一个内核又被分成两个线程。但是,我们要注意的是,一个cpu分成多个内核,这是物理的分隔,拆开cpu是可以看到的;但是一个内核被分成两个线程是一种超线程技术,也就是串代码,操作系统会认为一个线程也是一个内核,有点欺骗操作系统的感觉。

           如果操作系统说我的cpu有四核,这时我们要提高警惕,是真四核还是四线程(假四核)。

    这是我的台式机windows10:

    任务管理器显示有4核。

    设备管理器显示依然为4核 

    原来我的电脑是假四核。

    其实windows有一个命令是可以查看的:

    在cmd命令中输入“wmic”,回车;然后再输入“cpu get ”。 
    NumberOfCores:表示CPU核心数 
    NumberOfLogicalProcessors:表示CPU线程数 

    修改处理器个数:


    物理内核个数是不能修改的,但是假内核个数是可以修改的:

    处理器个数修改成3,保存重启电脑。

    任务管理器中已经改变:

    设备管理器未发生改变:

    如何禁用超线程技术
    Hyper-Threading是Intel微处理器采用的一种技术,这种技术能够让微处理器在操作系统和应用程序中的性能表现的类似于两个处理器一样。

    进入BIOS,找到   Hyper-Threading选项设置成disable。

    保存设置,启动电脑。

    任务管理器发生了变化:

    设备管理器也发生了变化:变成了2核。

    在window10系统中查看着些参数变的十分简单: 
    打开任务管理器

    那么核心数和线程数到底有什么不同昵?

    一、意思不同

          八核十六线程,八核是指CPU的核心有八个,核心(Core)又称为内核,是CPU最重要的组成部分,十六线程是指CPU的多线程线程数有十六个。六核十二线程是指六个核心,CPU的多线程线程数有十二个。

    二、技术不同

           八核十六线程是指使用了超线程技术,把一个物理核心,模拟成两个逻辑核心,理论上要像十六颗物理核心一样在同一时间执行十六个线程,所以设备管理器和任务管理器中会显示出十六个核心,但事实上并不是真正的八个核心,八核十六线程就是物理八核加上虚拟八核。

    三、优势

            前者内核和线程数更高一些,在多任务运行时更有优势,但也要看CPU主频的高低,单看核心数和线程数不是很明显。

            八核十六线程在有些情况下比如任务量不大能让CPU利用率提高很多从而使其性能接近十六核CPU的水平,而在另外一些情况比如CPU占用100%满负荷工作的情况下,这时候八核十六线程和十六核的性能表现差距明显。

     

     

     

    展开全文
  • CPU核心数目 线程

    万次阅读 2017-03-16 22:05:23
    CPU核数跟多线程的关系一直以来有这样的疑惑,单核CPU适合多线程吗?是不是几个核的CPU开几个线程是最合适的?今天就这一问题查了一些资料,现整理如下:要说多线程就离不开进程,进程和线程的区别在这里就不详细说...

    一直以来有这样的疑惑,在现如今多核多线程的电脑处理器之下,一个进程中的几个线程是 怎么运行的呢?(是经系统和JVM分配少量的资源 最后轮流切换 时间调度?还是这几个线程分配到不同的核上同时运行?)
    今天就这一问题查了一些资料,现整理如下:

    单个CPU一个时刻只能运行一个线程?

    单核CPU电脑同一时间内只能执行一个线程,首先了解一下,CPU执行的过程 ,它是把时间分成若干个小时间段,这些时间段很小的,系统中有很多进程,每个进程中又包含很多线程,在同一 时间段 内,电脑CPU只能处理一个线程(线程A),而下一个 时间段 就不一定是上一个时间段内执行的那个线程(线程A)了,可能是别的线程(线程B 吧)

    CPU采用的是类似于时间片轮转的机制,也就是说同一时间一条进程提出执行请求时,其他进程只能等待它执行完毕,CPU才会处理其他请求。其他进程相当于在排队等待中。当然了,为了避免某条进程无限制时间的执行,一般会限定一个时间,超时 的话,CPU根据一定的线程调度算法来切换线程。可以看做很多线程在并发执行。其实还是在某一个时间点上只有一个线程在运行罢了。
    多核的话,每个核心都是同样的原理。但是两个核心就可以通过系统分配资源,同时执行不同的进程,这个就更复杂了。
    每条进程都有CPU分配的进程号的。避免混乱。

    一个核心就是实实在在的一个cpu处理设备 线程的概念可以理解成电脑处理信息的通道 既一个线程一个通道 一般来说一个cpu核心处理一个通道的信息 但也不是绝对 因特尔支持超线程技术的cpu每个核心可以处理两个或多个通道的信息 这就可以形容为超线程(既多出来的通道的处理能力)但前提是软件也必须的支持超线程才行 否则单核双线程或多线程也只能有单个通道工作 从某种意义上来说cpu的能力被浪费了 所以网友一般就会说 真正的核心数(通道) 比虚拟出来的核心(通道)来个更实在。最后 线程数决定这CPU能同时处理几件事情,在没有超线程技术的情况下核心数等於线程数。

    java线程调度

    CPU对于各个线程的调度是随机的(分时调度),在Java程序中,JVM负责线程的调度。 线程调度是指按照特定的机制为多个线程分配CPU的使用权,也就是实际执行的时候是线程,因此CPU调度的最小单位是线程,而资源分配的最小单位是进程。

    JVM调度的模式有两种:分时调度抢占式调度。

    分时调度 是所有线程轮流获得CPU使用权,并平均分配每个线程占用CPU的时间;

    抢占式调度 是根据线程的优先级别来获取CPU的使用权。JVM的线程调度模式采用了抢占式模式。既然是抢占调度,那么我们就能通过设置优先级来“有限”的控制线程的运行顺序,注意“有限”一次。

    CPU核数 跟多线程 的关系

      要说多线程就离不开进程,进程和线程的区别在这里就不详细说了,只将关键的几点:

    a)进程之间是 相互独立的,不共享 内存和数据,线程之间 的内存和数据是 公用的,每个线程只有自己的一组CPU指令、寄存器和堆栈,对于线程来说只有CPU里的东西是自己独享的,程序中的其他东西都是跟同一个进程里的其他线程共享的。

    b)操作系统创建进程时要分配好多外部资源,所以开销大。(这个跟操作系统有关,有人做过实验,window创建进程的开销大,Linux创建进程的开销就很小。)

    再来说一下CPU,过去单CPU时代最先是单任务阶段 在一个时间点 只能执行单一程序。之后发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进程。虽然并不是真正意义上的“同一时间点”,而是多个任务或进程共享一个CPU,并交由操作系统来完成多任务间对CPU的运行切换,以使得每个任务都有机会获得一定的时间片运行。而现在多核CPU的情况下,同一时间点可以执行多个任务(并行),具体到这个任务在CPU哪个核上运行,这个就跟操作系统和CPU本身的设计相关了。

    我们假设一个极端的情况:在一台单核计算机上只运行2个程序,一个是我们的程序A,另一个是操作系统的程序B,每个程序是一个进程。单核CPU的时候,A和B在CPU上交替运行,具体的分配方式由操作系统来判断,我这里猜测应该跟A和B的线程数有关,因为线程是CPU级别的,如果A有5个线程,B也有5个线程,那么CPU分配给A和B的时间应该是1:1的;如果A增加到15个线程,CPU分配给A和B的时间应该是3:1的比例。所以此时如果A的线程数多,那么获得的CPU执行次数就多,处理的速度也就快了。以上假设的前提是:①A和B的优先级相同,②A和B都是只消耗CPU资源的程序。

    如果相同的情况用一个双核的计算机来处理又会是什么结果呢?假设这个双核的计算机和操作系统比较傻,把A进程分配到核1上,B进程分配到核2上,那不管A有几个线程,都是用核1来处理,那么时间肯定是一样的。不过现实中应该不会有这么傻的CPU和操作系统吧。所以赶紧还是会根据线程来进行处理,当A的线程比B多时,会占用核2来处理A的线程。

    刚才说的是只消耗CPU资源的程序,但这样的程序在实际应用中基本上是没有的,总会有跟资源打交道的。比如读个文件,查个数据库,访问一个网络连接等等。这个时候多线程才真正体现出优势,在一个进程中,线程a去读文件,线程b去查数据库,线程c去访问网络,a先用一下CPU,然后去读文件,此时CPU空闲,b就用一下,然后去查数据库,……,相对于读文件、查数据库、访问网络来说CPU计算的时间几乎可以忽略不计,所以多线程实际上是计算机多种资源的并行运用,跟CPU有几个核心是没什么关系的。

    https://my.oschina.net/xiaotian120/blog/196201 (java线程调度)
    http://blog.csdn.net/ziwen00/article/details/38097297(这篇写的也不错)

    展开全文
  • 物理CPU数、CPU核心数、CPU线程

    千次阅读 2020-01-13 10:50:24
    Windows系统中,在cmd中输入命令“wmic”。 >wmic wmic:root\cli> 输入命令“cpu get Name”,获取物理CPU数。 wmic:root\cli>... 输入命令“cpu get NumberOfCores”,获取CPU核心数。 wm...
  • CPU个数、CPU核心数、CPU线程数  我们在选购电脑的时候,CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级。CPU从早期的单核,发展到现在的双核,多核。CPU除了核心数之外,还有线程数之说,下面文本...
  • Java:线程CPU核心数目 线程

    千次阅读 2018-10-01 00:16:29
     就绪:当调用了线程对象的start方法之后,该线程就进入了就绪状态,但是此时线程调度程序还没有把该线程设置为当前线程,此时处于就绪状态。在线程运行之后,从等待或者睡眠中回来之后,也会处于就绪状态。 ...
  • 先说核心数吧,核心数指CPU的内核数量,线程数指CPU可以同时处理的进程数量。可以这么说核心就是电脑有几个脑袋!线程就是电脑一心(脑)能几用。 一般来说一个核心在某一时刻只能处理一个线程,但是itel研究出...
  •   昨天面试时被问到“CPU核心数量线程执行效率有关系吗”,当时脑袋有点蒙,直接就回答了“没关系”,今天早上仔细一想,发现自己也不知道到底有没有关系,于是上网查了一下。   这其实是一个很大的问题,...
  • 在make的时候,如果能够充分利用CPU个数,编译速度会快很多。那么怎样获取呢? cat /proc/cpuinfo| grep "processor"| wc -l
  • 总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 X 超线程数 cat /proc/cpuinfo | more processor : 0 —–逻辑CPU的唯一标识符 vendor_id : GenuineIntel —标识英特尔处理器 cpu family : 6 model
  • 核心:单芯片多处理器。简单理解就是一个芯片中集成了多个cpu线程:同一个处理器开多个线程执行并共享cpu的计算资源,也就是超线程...在网上看到有这么一句话感觉可以比较好的理解cpu的多核心和多线程的关系:几核
  • CPU核心数和线程数的关系

    千次阅读 2019-01-01 14:33:24
    是同一时刻设备能并行执行的程序个数,如果没有超线程技术,一个CPU核心对应一个线程线程数越多,越有利于同时运行多个程序,因为线程数等同于在某个瞬间CPU能同时并行处理的任务数。 AMD线程数: 线程数...
  • Linux:查看线程运行于哪个CPU核心

    千次阅读 2019-02-27 22:10:15
    线程是最小的执行调度单元,线程执行于某个CPU核心之上,或者说某个CPU核心执行此线程。 如何查看某线程运行于哪个CPU核心上呢? 方法一:ps -eLF 查找 PSR 字段值 [test1280@localhost 20190227]$ ps -eLF UID PID...
  • 转自:CPU个数、CPU核心数、CPU线程数(by kimsimple)   CPU个数即CPU芯片个数。 CPU核心数是指物理上,也就是硬件上存在着几个核心。比如,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU...
  • 此时假设我们设置的线程数量是 CPU 核心数的 2 倍以上,因为计算任务非常重,会占用大量的 CPU 资源,所以这时 CPU 的每个核心工作基本都是满负荷的,而我们又设置了过多的线程,每个线程都想去利用 CPU 资源来执行...
  • 核心:也指单芯片多处理器( Chip Multiprocessors,简称CMP),CMP是由美国斯坦福大学提出的,其思想是将大规模并行处理器中的SMP(对称多处理器...核心数、线程数:目前主流CPU都是多核的。增加核心数目就是为了增加线程数,
  • 多核cpu与线程理解

    万次阅读 2019-01-04 17:00:38
    计算机cpu与线程 进程和线程: 进程包含线程,一个进程中包含多个线程. 线程cpu调度和分配的基本单位,进程是操作系统进行资源分配(cpu,内存,硬盘io等)的最小单位. 单核cpu: 实现多进程依靠于操作系统的进程...
  • 线程与CPU核心的关系

    千次阅读 2018-04-12 22:50:55
    核心技术是将多个一样的CPU放置于一个封装内(或直接将两个CPU做成一个芯片),而英特尔的HT技术是在CPU内部仅复制必要的资源、让CPU模拟成两个线程;也就是一个实体核心,两个逻辑线程,在一单位时间内处理两个.....
  • 如何查看服务器CPU核心数和线程

    千次阅读 2019-10-02 14:54:26
    知道服务器CPU型号,那么我们如何在服务器里面查看服务器CPU核心数和线程数呢?步骤:先用鼠标右键点击屏幕最下方的任务栏空白处。会弹出一个菜单。 在菜单中用鼠标左键点选“启动任务管理器”。点击任务管理器的...
  • CPU 核心数和线程数的关系? CPU 密集型任务 首先,我们来看 CPU 密集型任务,比如加密、解密、压缩、计算等一系列需要大量耗费 CPU 资源的任务。对于这样的任务最佳的线程数为 CPU 核心数的 1~2 倍,如果设置过多的...
  • 当程序的执行效率要求较高时,可以考虑多线程技术,在使用多线程之前,需要我们了解自己的电脑或者服务器的CPU线程数量,线程数量与CPU核数有关系,因此如何查看电脑和服务器的CPU核数与线程数将是我们运用多线程...
  • 1、打开cmd,先输入 wmic,在输入 cpu get, 2、往后拖,NumberOfCores为核数 NumberOfLogicalProcessors为线程数,可以看到图中为6核心6线程
  • CPU个数、CPU核心数、CPU线程数  我们在选购电脑的时候,CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级。CPU从早期的单核,发展到现在的双核,多核。CPU除了核心数之外,还有线程数之说,下面文本...
  • 查看CPU核心数、线程

    千次阅读 2019-07-08 10:27:33
    方法一:进入系统的任务管理器:点击“性能”标签,找到CPU项,如下图所示: 注意:设备管理器中的处理器数量为线程数: ...方法二:下载CPU-Z 工具可以看到CPU核心数和线程数,如下图所示: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 201,637
精华内容 80,654
关键字:

cpu核心与线程