物理CPU数、CPU核心数、进程数

参考CSDN博客:https://blog.csdn.net/helloworld0906/article/details/90547159windows

 

1、 物理cpu数、cpu核数、线程数(逻辑cpu数)的关系性能

物理cpu数:是指物理上,也及硬件上的核心数,即实际server中插槽上的cpu的个数,物理cpu的数量,能够数不重复的physical id 有几个;ui

核数:一个物理CPU是几个核心的CPU组成;( 好比Intel 赛扬G460是单核心,双线程的CPU,Intel 酷睿i3 3220是双核心 四线程,Intel 酷睿i7 4770K是四核心 八线程 ,Intel 酷睿i5 4570是四核心 四线程等等)spa

逻辑cpu:单核cpu经过超线程技术(HT), 能够在逻辑上再分一倍数量的cpu core出来,使得一个核心能够对应两个线程,也就是说它能够同时运行两个线程。(逻辑CPU数量=物理cpu数量 x cpu cores 这个规格值 x 2(若是支持并开启ht),备注一下:Linux下top查看的CPU也是逻辑CPU个数).net

线程数:是同一时刻物理cpu能并行执行的程序个数,总线程数=物理CPU数*cpu核心数 * 逻辑CPU数线程

 

2、进程相关了解server

对于一个CPU,线程数老是大于或等于核心数的。一个核心最少对应一个线程,但经过超线程技术,一个核心能够对应两个线程,也就是说它能够同时运行两个线程。blog

线程数是一种逻辑的概念,简单地说,就是模拟出的CPU核心数。好比,能够经过一个CPU核心数模拟出2线程的CPU,也就是说,这个单核心的CPU被模拟成了一个相似双核心CPU的功能。咱们从任务管理器的性能标签页中看到的是两个CPU。 好比Intel 赛扬G460是单核心,双线程的CPU,Intel 酷睿i3 3220是双核心 四线程,Intel 酷睿i7 4770K是四核心 八线程 ,Intel 酷睿i5 4570是四核心 四线程等等。
       对于一个CPU,线程数老是大于或等于核心数的。一个核心最少对应一个线程,但经过超线程技术,一个核心能够对应两个线程,也就是说它能够同时运行两个线程。 CPU的线程数概念仅仅只针对Intel的CPU才有用,由于它是经过Intel超线程技术来实现的,最先应用在Pentium4上。若是没有超线程技术,一个CPU核心对应一个线程。因此,对于AMD的CPU来讲,只有核心数的概念,没有线程数的概念。进程


  CPU之因此要增长线程数,是源于多任务处理的须要。线程数越多,越有利于同时运行多个程序,由于线程数等同于在某个瞬间CPU能同时并行处理的任务数。 get

 

3、物理CPU数、CPU核心数、进程数(逻辑CPU数)之间的关系

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

 

 # 查看物理CPU个数
 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

 

 # 查看每一个物理CPU中core的个数(即核数)
 cat /proc/cpuinfo| grep "cpu cores"| uniq

 

# 查看逻辑CPU的个数
 cat /proc/cpuinfo| grep "processor"| wc -l

 

#查看线程数                                                                                                                                                                grep 'processor'    /proc/cpuinfo | sort -u | wc -l      

注意,此处查看的线程数是总得线程数,能够理解为逻辑cpu的数量

 

4、查看windows的物理CPU数、CPU核心数、进程数(逻辑CPU数)

在Windows中,在cmd命令中输入“wmic”,而后在出现的新窗口中输入“cpu get *”便可查看物理CPU数、CPU核心数、线程数。其中, 
  Name:表示物理CPU数 
  NumberOfCores:表示CPU核心数 
  NumberOfLogicalProcessors:表示CPU线程数

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

Name:表示物理CPU数 
NumberOfCores:表示CPU核心数 
NumberOfLogicalProcessors:表示CPU线程数
注释:VM虚拟机中的CPU选择的核心数实际是表明线程数。

输入“cpu get *”也可

 

2.在cmd命令中输入“systeminfo”,如下信息表示物理CPU有两个