CPU的物理数、核心数、线程数

最近了解下CPU的参数,主要是对常见的CPU参数指标:物理数、核心数以及线程数做了下了解。增长了点自己的见识,方便自己回忆和分享,记录下来。参考了网上的一些说明并加以整理,形成该随笔。主要参考链接如下:https://www.cnblogs.com/kimsimple/p/7787018.html  感谢博主的解释。如有理解不对的地方,欢迎各位指点批评!

1、物理CPU个数

  物理CPU及实际你看到的或者自己购买组装在电脑或者服务器的实体CPU。如下图所示:

2、CPU核心数

  核心数表示,单个物理CPU上存在几个核心处理器或者核心处理单元。双核表示1颗物理cpu,2个核心处理器,每个核心处理器想对独立,可各自处理自己的事务。

3、CPU线程数

  线程数指的是,1颗核心处理器能模拟出几个逻辑核心处理器。常见的8核16线程,就是8颗核心处理器,通过超线程技术每颗核心处理器模拟出2个逻辑核心处理器,8颗核心处理器,能模拟出总共16个线程。每个核心处理器至少对应一个线程。

4、CPU总核数与总逻辑核心数

  CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数

  逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数

5、Linux上查看物理CPU、核心数、线程数、总核心数、逻辑核心数

  5.1 查看物理cpu个数

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

  5.2 查看核心数

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

  5.3 查看每个核心的线程数

  [[email protected] ~]# cat /proc/cpuinfo |grep "processor"|wc -l

  1

  5.4 计算总核数

  总核数=1*1=1

  5.5 计算逻辑核心数

  逻辑核心数=1*1*1=1

原文地址:https://www.cnblogs.com/wujizhang/p/11630004.html

时间: 2024-10-10 12:49:34

CPU的物理数、核心数、线程数的相关文章

Linux查看系统cpu个数、核心书、线程数

Linux查看系统cpu个数.核心书.线程数 现在cpu核心数.线程数越来越高,本文将带你了解如何确定一台服务器有多少个cpu.每个cpu有几个核心.每个核心有几个线程. 查看物理cpu个数 grep 'physical id' /proc/cpuinfo | sort -u 查看核心数量 grep 'core id' /proc/cpuinfo | sort -u | wc -l 查看线程数 grep 'processor' /proc/cpuinfo | sort -u | wc -l 实例

证明线程池ThreadPoolExecutor的核心线程数,最大线程数,队列长度的关系

关于线程池的几个参数,很多人不是很清楚如何配置,他们之间是什么关系,我用代码来证明一下. package www.itbac.com; import java.util.concurrent.*; public class ExecutorTest { public static void main(String[] args) { // 创建线程池 , 参数含义 :(核心线程数,最大线程数,加开线程的存活时间,时间单位,任务队列长度) ThreadPoolExecutor pool = new

centos 系统查看cpu个数、核心书、线程数

1.查看物理cpu个数 grep 'physical id' /proc/cpuinfo | sort -u | wc -l 2.查看核心数量grep 'core id' /proc/cpuinfo | sort -u | wc -l 3.查看线程数 grep 'processor' /proc/cpuinfo | sort -u | wc -l 4.查看cpu型号 dmidecode -s processor-version

CPU使用率和负载,物理CPU个数,核数,线程数

当我们使用top命令查看系统的资源使用情况时会看到 load average,如下图所示.它表示系统在1.5.15分钟的平均工作负载.那么什么是负载(load)呢?它和CPU的利用率又有什么关系呢? load average:系统平均负载是CPU的Load,它所包含的信息不是CPU的使用率状况,而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息.这个数字越小越好. 1. CPU负载和CPU利用率的区别 CPU利用率:显示的是程序在运行期间

线程池配置合理线程数

1.cpu密集型(例如while循环 ) cpu密集的意思是该任务需要大量的运算,而没有阻塞,cpu一直全速运行. cpu密集任务只有在真正的多核cpu上才可能得到加速(通过多线程) 而在单核cpu上,无论你开几个模拟的多线程该任务都不可能得到加速,因为cpu总的运算能力就那些 cpu密集型任务配置尽可能少的线程数量 一般公式:cpu核数+1个线程的线程池 System.out.println(Runtime.getRuntime().availableProcessors()); //可以算出

最佳线程数

影响最佳线程数的主要因素: 1.IO 2.CPU 根据公式:服务器端最佳线程数量=((线程等待时间+线程cpu时间)/线程cpu时间) * cpu数量 一般来说是IO和CPU.IO开销较多的应用其CPU线程等待时间会比较长,所以线程数量可以开的多一些,相反则线程数量要少一些,其实有两种极端,纯IO的应用,比如proxy,则线程数量可以开到非常大(实在太大了则需要考虑线程切换的开销),这种应用基本上后端(比如这个proxy是代理搜索的)的QPS能有多少,proxy就有多少. 另一种是耗CPU的计算

java线程池如何合理配置核心线程数

线程池合理的线程数你是如何考虑的?: 1.先看下机器的CPU核数,然后在设定具体参数: System.out.println(Runtime.getRuntime().availableProcessors()); 即CPU核数 = Runtime.getRuntime().availableProcessors() 2.分析下线程池处理的程序是CPU密集型,还是IO密集型 CPU密集型:核心线程数 = CPU核数 + 1 IO密集型:核心线程数 = CPU核数 * 2 注:IO密集型(某大厂实

Linux上如何查看物理CPU个数,核数,线程数

首先,看看什么是超线程概念 超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率.超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源.当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些

Linux查看CPU物理个数、核心数、线程数

CPU型号 cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c CPU个数:实际服务器中插槽上的CPU个数,数不重复的 physical id cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l CPU核数:cpu的内核数量,可以查看cpu cores 对应的值 cat /proc/cpuinfo | grep "cpu cores" | u