CPU的核與執行緒 4核8執行緒

2021-10-24 17:05:02 字數 1912 閱讀 4648

邏輯cpu

單核cpu和多核cpu

總結

$ cat /proc/cpuinfo
物理cpu就是計算機上實際配置的cpu個數。

在linux上可以開啟cat /proc/cpuinfo來檢視,其中的physical id就是每個物理cpu的id,能找到幾個physical id就代表計算機實際有幾個cpu。

在linux下可以通過指令grep 『physical id』 /proc/cpuinfo | sort -u | wc -l來檢視物理cpu個數。

$ grep 'physical id' /proc/cpuinfo | sort -u | wc -l

1

linux的cpu核心總數也可以在/proc/cpuinfo裡面通過指令cat /proc/cpuinfo檢視的到,其中的core id指的是每個物理cpu下的cpu核的id,能找到幾個core id就代表計算機有幾個核心。

物理核數=cpu數(機子上裝的cpu的數量)*每個cpu的物理核數

$ grep 'core id' /proc/cpuinfo | sort -u | wc -l

4

所謂的4核8執行緒,4核指的是物理數。通過超執行緒技術,用乙個物理核 模擬兩個虛擬核,每個虛擬核1個執行緒,總數為8執行緒。

在作業系統看來是8個核,但是實際上是4個物理核。

通過超執行緒技術可以實現單個物理核實現執行緒級別的平行計算,但是比不上效能兩個物理核。

作業系統可以使用邏輯cpu來模擬出真實cpu的效果。在之前沒有多核處理器的時候,乙個cpu只有乙個核,而現在有了多核技術,其效果就好像把多個cpu集中在乙個cpu上。

當計算機沒有開啟超執行緒時,邏輯cpu的個數就是計算機的核數。而當超執行緒開啟後,邏輯cpu的個數是核數的兩倍。

$ grep 'processor' /proc/cpuinfo | sort -u | wc -l

8

8/4/1 = 2 看來已經開啟了超執行緒

邏輯cpu的數量/物理核的數量/cpu核數 = 2 則開啟了超執行緒

實際上邏輯cpu的數量就是平時稱呼的幾核幾執行緒中的執行緒數量,在linux的cpuinfo中邏輯cpu數就是processor的數量。

都是乙個cpu,不同的是每個cpu上的核心數

多核cpu是多個單核cpu的替代方案,多核cpu減小了體積,同時也減少了功耗

乙個核心只能同時執行乙個執行緒

1.物理cpu數:主機板上實際插入的cpu數量,可以數不重複的 physical id 有幾個(physical id)

$ grep 'physical id' /proc/cpuinfo | sort -u | wc -l
2.cpu核數:單塊cpu上面能處理資料的晶元組的數量,如雙核、四核等 (cpu cores)

$ grep 'core id' /proc/cpuinfo | sort -u | wc -l
3.邏輯cpu數:簡單來說,它可使處理器中的1顆核心,如2顆核心那樣在作業系統中發揮作用。

$ cat /proc/cpuinfo | grep 'cpu cores' | wc -l
這樣一來,作業系統可使用的執行資源擴大了一倍,大幅提高了系統的整體效能,此時邏輯cpu=物理cpu個數×每顆核數x2。

總核數 = 物理cpu個數 × 每顆物理cpu的核數。總邏輯cpu數 = 物理cpu個數 ×每顆物理cpu的核數 × 超執行緒數。

所以這算雙核的。

執行緒繫結CPU核

linux系統提供api函式sched setaffinity和sched getaffinity用於設定或獲取執行緒的可以使用的cpu核。int sched setaffinity pid t pid,unsigned int cpusetsize,cpu set t mask 這個函式中pid表...

執行緒繫結CPU核

linux系統提供api函式sched setaffinity和sched getaffinity用於設定或獲取執行緒的可以使用的cpu核。int sched setaffinity pid t pid,unsigned int cpusetsize,cpu set t mask 這個函式中pid表...

8核 6核 4核 雙核CPU是什麼意思

對於初學者來說,cpu是什麼 什麼是雙核 4核 6核 8核等。下面,就以上的問題,我們做出一一解答。概念 cpu是什麼 做什麼用 一般cpu是接在 的,我們先來看看cpu是什麼,cpu既 處理器 電腦中乙個最重要,最核心的東西,市面上能買到的cpu只有兩種,一種是intel公司生產的,另一種是amd...