1. 程式人生 > 實用技巧 >linux判斷物理CPU,邏輯CPU和CPU核數

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的個數
= 物理CPU個數×每顆核數×超執行緒數 ㈡ 檢視CPU資訊 vendor id 如果處理器為英特爾處理器,則字串是 GenuineIntel。 processor 包括這一邏輯處理器的唯一識別符號。 physical id 包括每個物理封裝的唯一識別符號。 core id 儲存每個核心的唯一識別符號。 siblings 列出了位於相同物理封裝中的邏輯處理器的數量。 cpu cores 包含位於相同物理封裝中的核心數量。
1. 擁有相同 physical id 的所有邏輯處理器共享同一個物理插座,每個 physical id 代表一個唯一的物理封裝。 2. Siblings 表示位於這一物理封裝上的邏輯處理器的數量,它們可能支援也可能不支援超執行緒(HT)技術。 3. 每個 core id 均代表一個唯一的處理器核心,所有帶有相同 core id 的邏輯處理器均位於同一個處理器核心上。簡單的說:“siblings”指的是一個物理CPU有幾個邏輯 CPU,”cpu cores“指的是一個物理CPU有幾個核。 4. 如果有一個以上邏輯處理器擁有相同的 core id 和 physical id,則說明系統支援超執行緒(HT)技術。 5. 如果有兩個或兩個以上的邏輯處理器擁有相同的 physical id,但是 core id不同,則說明這是一個多核心處理器。cpu cores條目也可以表示是否支援多核心。 ㈢ 下面舉例說明 ① 檢視物理CPU的個數 #cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 2 ② 檢視邏輯CPU的個數 #cat /proc/cpuinfo |grep "processor"|wc -l 24 ③ 檢視CPU是幾核 #cat /proc/cpuinfo |grep "cores"|uniq 6 我這裡應該是2個CPU,每個CPU有6個core,應該是Intel的CPU,支援超執行緒,所以顯示24
View Code

檢視物理CPU:

cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l  

檢視邏輯CPU:

檢視CPU核數:

top命令看到的也是邏輯cpu個數

轉:https://blog.csdn.net/shenwansangz/article/details/50298071