2016年4月18日 星期一

Linux查看CPU個數/多核/多執行緒的查看(實體/邏輯)

以下文章摘自  Linux查看CPU個數/多核/多執行緒的查看

Linux系統中,如何詳細瞭解CPU的資訊呢? 當然是通過cat
/proc/cpuinfo
來檢查了,但是比如幾個物理CPU/幾核/幾執行緒,這些問題怎麼確定呢?

判斷依據:

1.
具有相同core idcpu是同一個core的超執行緒。

2.
具有相同physical idcpu是同一顆cpu封裝的執行緒或者cores
#邏輯CPU個數
cat /proc/cpuinfo | grep "processor" | wc -l
 
echo "physical CPU number:"
#物理CPU個數:
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
 
echo "core number in a physical CPU:"
#每個物理CPUCore的個數:
cat /proc/cpuinfo | grep "cpu cores" | uniq | awk -F: '{print $2}'
 
#查看每個physical cpucore id的數量,即為每個物理CPU上的core的個數
cat /proc/cpuinfo | grep "core id"
 
#是否為超執行緒?
#如果有兩個邏輯CPU core具有相同的”core id”,那麼超執行緒是打開的。
# 當然也可知直接查詢 /proc/cpuinfo 中的 "ht"這個flag
cat /proc/cpuinfo | grep flags | grep ht
 
#每個物理CPU中邏輯CPU(可能是core, threadsboth)的個數:
cat /proc/cpuinfo | grep "siblings"