1. 程式人生 > >CPU邏輯數量、CPU物理核心、幾核幾線程簡述

CPU邏輯數量、CPU物理核心、幾核幾線程簡述

1. CPU 物理核心

CPU物理核心就是計算機上實際配置的CPU個數。
在 Linux 上可以開啟 cat /proc/cpuinfo 來檢視,其中的 physical id 就是每個物理CPU的ID,你能找到幾個 physical id 就代表你的計算機實際有幾個CPU。
在 Linux 下可以通過以下指令 來檢視你的物理CPU個數

 grep ‘physical id’ /proc/cpuinfo | sort -u | wc -l  

2. CPU 核數

CPU核數是指CPU上整合的處理資料的 CPU核心個數,單核指 CPU 核心數一個,雙核則指的是兩個。
通常每個 CPU 下的核數都是固定的,比如你的計算機有兩個物理CPU,每個CPU是雙核,那麼你的計算機就是四核的。
Linux 的CPU核心總數也可以在 /proc/cpuinfo 裡面通過指令 cat /proc/cpuinfo 檢視的到,其中的 core id 指的是每個物理CPU下的 CPU 核的 id,能找到幾個 core id 就代表你的計算機有幾個核心。
在 Linux 下可以通過以下指令 來檢視你的 CPU 核心總數

cat /proc/cpuinfo | grep “cpu cores” | wc -l

3. CPU邏輯

作業系統可以使用邏輯 CPU 來模擬出真實 CPU 的效果。
在之前沒有多核處理器的時候,一個 CPU 只有一個核,而現在有了多核技術,其效果就好像把多個 CPU 集中在一個 CPU 上。
當計算機沒有開啟超執行緒時,邏輯 CPU 的個數就是計算機的核數。而當超執行緒開啟後,邏輯 CPU 的個數是核數的兩倍。實際上邏輯 CPU的數量就是平時稱呼的幾核幾線程中的執行緒數量,在 Linux 的 cpuinfo 中邏輯 CPU 數就是 processor 的數量。
在 Linux 下可以通過以下指令 來檢視你的 CPU 邏輯數量

cat /proc/cpuinfo | grep “processor” | wc -l

4. 總結

簡單總結以下:
CPU 總核數 = 物理 CPU 個數 X 每顆物理 CPU 的核數
CPU 邏輯數 = 物理 CPU 個數 X 每顆物理 CPU 的核數 X 超執行緒數

知道上面這些,我們常說的幾核幾線程就好理解了。假設計算機有一個物理CPU核心,是雙核的,支援超執行緒。那麼這臺計算機就是雙核四執行緒的。

5. python檢視CPU邏輯總數和CPU物理核心

利用python的第三方模組psutil, 可以很輕鬆的檢視自己的電腦的 CPU 邏輯總數和 CPU 物理核心個數;程式碼如下:

import psutil

print(psutil.cpu_count())  # CPU邏輯數量
print( psutil.cpu_count(logical=False))  # CPU物理核心 # 2說明是雙核超執行緒, 4則是4核非超執行緒

以上內容借鑑於一位前輩的資源,感謝!

希望能夠幫助到大家,有什麼問題可以 直接評論即可,如果不夠詳細的話也可以說,我會及時回覆的。