linux檢視cpu顆數、核數及是否超執行緒
網上查了一圈,說法不一,自己總結一二,防止忘記,厚積而薄發。
參考依據:
1.具有相同core id的cpu是同一個core的超執行緒。 2.具有相同physical id的cpu是同一顆cpu封裝的執行緒或者cores。
驗證:
以我的伺服器為例,cat /proc/cpuinfo中model name資訊為: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz經查詢本款CPU有6核12執行緒,支援超執行緒。
1.檢視機器的cpu個數,即顆數(cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l)。說明此機器裝有2顆X5650CPU。
2.檢視核數,cpu cores值為6,或者第二種的方法(cat /proc/cpuinfo | grep 'core id' | sort | uniq),查詢為6核。
注:core id為一組不連續的值,在每顆CPU上相同,每顆CPU上的值均為0、1、2、8、9、10(只是本機),故為6核。
相同的core id下processor不同,這即為超執行緒的體現,故在此機器上top看到的cpu個數為24(2顆*6核*超執行緒)
3、檢視是否支援多執行緒還有另外一種方法,查詢flags是否有ht字串(cat /proc/cpuinfo | grep ht --color)