參考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有兩個