1. 程式人生 > >Linux下檢視CPU配置資訊

Linux下檢視CPU配置資訊

輸入命令:cat /proc/cpuinfo

檢視輸出結果中physical id有幾個,如果顯示0,那麼就只有一個物理cpu;

檢視輸出結果processor有幾個,如果顯示有0和1兩個,所以有兩個邏輯cpu。


(一)概念
① 物理CPU
實際Server中插槽上的CPU個數
物理cpu數量,可以數不重複的 physical id 有幾個
② 邏輯CPU
 /proc/cpuinfo 用來儲存cpu硬體資訊的
資訊內容分別列出了processor 0 –processor 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  
2  
② 檢視邏輯CPU的個數
#cat /proc/cpuinfo |grep "processor"|wc -l  
24  
③ 檢視CPU是幾核
#cat /proc/cpuinfo |grep "cores"|uniq  
6   
我這裡應該是2個Cpu,每個Cpu有6個core,應該是Intel的U,支援超執行緒,所以顯示24