Linux下區分物理CPU、邏輯CPU和CPU核數

Linux下區分物理CPU、邏輯CPU和CPU核數
 
 ㈠ 概念
             www.2cto.com  
           ① 物理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)  www.2cto.com  
              備註一下: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的個數
[plain] 
#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l  
2  
 
        ② 查看邏輯CPU的個數
[plain] 
#cat /proc/cpuinfo |grep "processor"|wc -l  
24  
 
        ③ 查看CPU是幾核
[plain] 
#cat /proc/cpuinfo |grep "cores"|uniq  
6   
 
       我這裏應該是2個Cpu,每個Cpu有6個core,應該是Intel的U,支持超線程,所以顯示24 
雖然採用超線程技術能同時執行兩個線程,但它並不象兩個真正的CPU那樣,每個CPU都具有獨立的資源。當兩個線程都同時需要某一個資源時,其中一個要暫時停止,並讓出資源,直到這些資源閒置後才能繼續。因此超線程的性能並不等於兩顆CPU的性能。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章