Linux下區分物理CPU、邏輯CPU和CPU核數
㈠ 概念
① 物理CPU
實際Server中插槽上的CPU個數
物理cpu數量,可以數不重複的 physical id 有幾個
② 邏輯CPU
Linux使用者對 /proc/cpuinfo 這個檔案肯定不陌生. 它是用來儲存cpu硬體資訊的
資訊內容分別列出了processor 0 – n 的規格。這裡需要注意,如果你認為n就是真實的cpu數的話, 就大錯特錯了
一般情況,我們認為一顆cpu可以有多核,加上intel的超執行緒技術(HT), 可以在邏輯上再分一倍數量的cpu core出來
邏輯CPU數量=物理cpu數量 x cpu cores 這個規格值 x 2(如果支援並開啟ht)
備註一下:Linux下top檢視的CPU也是邏輯CPU個數
③ CPU核數
一塊CPU上面能處理資料的晶片組的數量、比如現在的i5 760,是雙核心四執行緒的CPU、而 i5 2250 是四核心四執行緒的CPU
一般來說,物理CPU個數×每顆核數就應該等於邏輯CPU的個數,如果不相等的話,則表示伺服器的CPU支援超執行緒技術
㈡ 檢視CPU資訊
當我們 cat /proc/cpuinfo 時,
具有相同core id的CPU是同一個core的超執行緒
具有相同physical id的CPU是同一個CPU封裝的執行緒或核心
㈢ 下面舉例說明
① 檢視物理CPU的個數
cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
② 檢視邏輯CPU的個數
cat /proc/cpuinfo |grep "processor"|wc -l
③ 檢視CPU是幾核
cat /proc/cpuinfo |grep "cores"|uniq
==================補充================================================
number of processors 單個cpu核數
參考:
=======================補充==================================================
AWR中的CPUs, Cores, Sockets
http://blog.itpub.net/35489/viewspace-742337/
NUM_CPUS 8 表示邏輯CPU數量(Oracle資料庫中表現出來的初始引數 cpu_count)
NUM_CPU_CORES 8 對應CPU Cores數量
NUM_CPU_SOCKETS 2 CPU Sockets數量
- stat_name = NUM_CPUS. This value should correspond to the number of logical CPUs. For systems with CMT or
hyper-threaded processors, this value should correspond to the total number of hardware threads. For systems with
multi-core processors, this value should correspond to the total number of hardware threads across all cores in the
system. NUM_CPUS should be greater than or equal to NUM_CPU_CORES and NUM_CPU_SOCKETS.
對應邏輯CPU數量,
對於CPU多執行緒或超執行緒,值應該指hardware threads總數。
對於多核處理器,值應該對應於系統中所有核的hardware threads總數。
NUM_CPUS值大於等於NUM_CPU_CORES and NUM_CPU_SOCKETS
那麼也就是說,如果CPU物理個數為2,那麼Sockets=2 (初略理解為插槽) ? 每顆 CPU 採用4核,每核4執行緒 , 那麼處理器(CMT)
能夠支援16個併發執行的硬執行緒, 對應到 NUM_CPUS 是不是等於 2 * 4 * 4 = 32 (根據第二句紅色語句) ? NUM_CPU_CORES=2*4 =8 ?
① 物理CPU
實際Server中插槽上的CPU個數
物理cpu數量,可以數不重複的 physical id 有幾個
② 邏輯CPU
Linux使用者對 /proc/cpuinfo 這個檔案肯定不陌生. 它是用來儲存cpu硬體資訊的
資訊內容分別列出了processor 0 – n 的規格。這裡需要注意,如果你認為n就是真實的cpu數的話, 就大錯特錯了
一般情況,我們認為一顆cpu可以有多核,加上intel的超執行緒技術(HT), 可以在邏輯上再分一倍數量的cpu core出來
邏輯CPU數量=物理cpu數量 x cpu cores 這個規格值 x 2(如果支援並開啟ht)
備註一下:Linux下top檢視的CPU也是邏輯CPU個數
③ CPU核數
一塊CPU上面能處理資料的晶片組的數量、比如現在的i5 760,是雙核心四執行緒的CPU、而 i5 2250 是四核心四執行緒的CPU
一般來說,物理CPU個數×每顆核數就應該等於邏輯CPU的個數,如果不相等的話,則表示伺服器的CPU支援超執行緒技術
㈡ 檢視CPU資訊
當我們 cat /proc/cpuinfo 時,
具有相同core id的CPU是同一個core的超執行緒
具有相同physical id的CPU是同一個CPU封裝的執行緒或核心
㈢ 下面舉例說明
① 檢視物理CPU的個數
cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
② 檢視邏輯CPU的個數
cat /proc/cpuinfo |grep "processor"|wc -l
③ 檢視CPU是幾核
cat /proc/cpuinfo |grep "cores"|uniq
==================補充================================================
number of processors 單個cpu核數
參考:
=======================補充==================================================
AWR中的CPUs, Cores, Sockets
http://blog.itpub.net/35489/viewspace-742337/
NUM_CPUS 8 表示邏輯CPU數量(Oracle資料庫中表現出來的初始引數 cpu_count)
NUM_CPU_CORES 8 對應CPU Cores數量
NUM_CPU_SOCKETS 2 CPU Sockets數量
- stat_name = NUM_CPUS. This value should correspond to the number of logical CPUs. For systems with CMT or
hyper-threaded processors, this value should correspond to the total number of hardware threads. For systems with
multi-core processors, this value should correspond to the total number of hardware threads across all cores in the
system. NUM_CPUS should be greater than or equal to NUM_CPU_CORES and NUM_CPU_SOCKETS.
對應邏輯CPU數量,
對於CPU多執行緒或超執行緒,值應該指hardware threads總數。
對於多核處理器,值應該對應於系統中所有核的hardware threads總數。
NUM_CPUS值大於等於NUM_CPU_CORES and NUM_CPU_SOCKETS
那麼也就是說,如果CPU物理個數為2,那麼Sockets=2 (初略理解為插槽) ? 每顆 CPU 採用4核,每核4執行緒 , 那麼處理器(CMT)
能夠支援16個併發執行的硬執行緒, 對應到 NUM_CPUS 是不是等於 2 * 4 * 4 = 32 (根據第二句紅色語句) ? NUM_CPU_CORES=2*4 =8 ?
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2139313/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux檢視物理CPU個數、核數、邏輯CPU個數Linux
- Linux及AIX下如何檢視物理CPU, 邏輯CPU及核數LinuxAI
- linux 下檢視物理CPU,邏輯CPU,CPU core,超執行緒Linux執行緒
- 【轉】各系統下檢視cpu物理和邏輯個數
- 檢視Linux系統CPU個數和核數Linux
- 如何檢視CPU核數和執行緒數?CPU的核心數、執行緒數的關係和區別執行緒
- 在 Linux 中查詢 CPU 的核數Linux
- Linux下判斷cpu物理個數,幾核,是超執行緒還是多核心Linux執行緒
- CPU單核多核區別【轉載】單核
- 盒裝CPU和散裝CPU的區別
- 動態配置邏輯域(LDOMs)中CPU的個數
- Docker CPU 資源限制——CPU固定核功能測試Docker
- 4核8執行緒和6核6執行緒的CPU哪個好?電腦CPU核數多和執行緒多的區別執行緒
- 檢視伺服器CPU的個數、CPU的核數、多核超執行緒數伺服器執行緒
- CPU設計——CPU核解析——cv32e40p
- cpu、核與執行緒執行緒
- GPU和CPU的區別GPU
- CPU和GPU的區別GPU
- 你的軟體按什麼賣?套數、CPU數、核數還是CPU的計算能力?
- 【知識分享】伺服器CPU和家用CPU的區別伺服器
- CPU的散片和盒裝CPU有什麼區別?
- CPU散片是什麼意思?盒裝CPU和CPU散裝的區別知識科普
- linux下把程式繫結到特定cpu核上執行Linux
- CPU Turbo和GPU Turbo的區別 CPU Turbo是什麼意思?GPU
- Linux 檢視 CPU 個數Linux
- linux 下檢視cpu位數 核心等引數命令Linux
- linux下檢視cpu個數及頻率Linux
- Linux系統下查CPU個數的方法Linux
- cpu+wait for cpuAI
- win10 如何看cpu 幾核的_win10cpu怎麼看幾核幾代Win10
- 檢視cpu的個數 linuxLinux
- cpu+wait for cpu 到底是cpu空閒還是cpu不夠AI
- Linux 中執行緒與 CPU 核的繫結Linux執行緒
- cpu散片和盒裝的區別 cpu買散片還是盒裝
- Linux CPU負載Linux負載
- 在linux中檢視cpu個數方法Linux
- 根據CPU核數合理設定執行緒池大小執行緒
- 對多執行緒程式,單核cpu與多核cpu如何工作相關的探討執行緒單核