邏輯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的數量就是平時稱呼的幾核幾執行緒中的執行緒數量,在linux的cpuinfo中邏輯cpu數就是processor的數量。邏輯cpu的數量/物理核的數量/cpu核數 = 2 則開啟了超執行緒
都是乙個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...