Linux系統下查CPU個數的方法

mrhaozi發表於2010-06-06
:/proc/cpuinfo

  linux 下

  /proc/cpuinfo

  檔案會顯示cpu的資訊

  processor 會從0開始記數 繼續下去多個cpu

  flags 如果有 ht 說明支援超執行緒技術

  判斷物理CPU的個數可以檢視physical id 的值,相同則為同一個物理 CPU

  processor : 4

  vendor_id : GenuineIntel

  cpu family : 15

  model : 4

  model name : Intel(R) Xeon(TM) CPU 3.00GHz

  stepping : 8

  cpu MHz : 3002.700

  cache size : 2048 KB

  physical id : 9

  siblings : 4

  core id : 19

  cpu cores : 2

  ------------------------------

  processor : 5

  vendor_id : GenuineIntel

  cpu family : 15

  model : 4

  model name : Intel(R) Xeon(TM) CPU 3.00GHz

  stepping : 8

  cpu MHz : 3002.700

  cache size : 2048 KB

  physical id : 9

  siblings : 4

  core id : 19

  cpu cores : 2

  -----------------------------------------------

  address sizes : 40 bits physical, 48 bits virtual

  power management:

  關鍵詞: SMP linux 多CPU個數 超執行緒HT Hyper-Threading

  摘抄一些網上的相關知識:

  超執行緒技術就是利用特殊的硬體指令,把兩個邏輯核心模擬成兩個物理晶片,讓單個處理器都能使用執行緒級平行計算,進而相容多執行緒作業系統和軟體,減少了CPU的閒置時間,提高的CPU的執行效率。

  採用超執行緒及時可在同一時間裡,應用程式可以使用晶片的不同部分。雖然單執行緒晶片每秒鐘能夠處理成千上萬條指令,但是在任一時刻只能夠對一條指令進行操作。而超執行緒技術可以使晶片同時進行多執行緒處理,使晶片效能得到提升。

  超執行緒技術是在一顆CPU同時執行多個程式而共同分享一顆CPU內的資源,理論上要像兩顆CPU一樣在同一時間執行兩個執行緒,P4處理器需要多加入一個Logical CPU Pointer(邏輯處理單元)。因此新一代的P4 HT的die的面積比以往的P4增大了5%。而其餘部分如ALU(整數運算單元)、FPU(浮點運算單元)、L2 Cache(二級快取)則保持不變,這些部分是被分享的。

  雖然採用超執行緒技術能同時執行兩個執行緒,但它並不象兩個真正的CPU那樣,每個CPU都具有獨立的資源。當兩個執行緒都同時需要某一個資源時,其中一個要暫時停止,並讓出資源,直到這些資源閒置後才能繼續。因此超執行緒的效能並不等於兩顆CPU的效能。



//本文來源於:IT學習.COM()
//原文請參考:http://www.itxuexi.com/tech/server/linux/516851255831928.html[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16396910/viewspace-1034215/,如需轉載,請註明出處,否則將追究法律責任。

相關文章