在Linux中,可以利用grep指令來查看CPU的核心數和執行緒數,進而判斷CPU是幾核心幾線程;查看CPU核心數的語法「grep 'core id' /proc/cpuinfo | sort -u | wc -l”,查看CPU線程數的語法“grep 'processor' /proc/cpuinfo | sort -u | wc -l”。
本教學操作環境:linux7.3系統、Dell G3電腦。
查看幾核心幾線程,就是查看CPU的物理核心數和線程數。
cpu個數字 是指物理上cpu的數量。
cpu核心數是指物理上,也就是硬體上存在著幾個核心。例如,雙核心就是包含2個相對獨立的CPU核心單元組,四核心就包含4個相對獨立的CPU核心單元組。
cpu執行緒數 是一種邏輯上的概念,簡單來說,就是模擬出的CPU核心數。
例如,可以透過一個物理的CPU核心模擬出2執行緒的CPU。一個物理的CPU核心最少對應一個線程,但透過超線程技術,一個核心可以對應兩個線程,也就是說它可以同時運行兩個線程。
CPU的執行緒數概念只是針對Intel的CPU才有用,因為它是透過Intel超線程技術來實現的,並且最早應用在Pentium4上。如果沒有超線程技術,一個CPU核心對應一個執行緒。對於AMD處理器而言,沒有超線程的概念,線程數和核心數相同,所以在AMD的CPU參數上是沒有寫出線程數的。
綜上,這個公式成立:
物理cpu個數* 每個物理cpu中core的個數* 超線程數= 總執行緒數(也即邏輯CPU的數量)
linux查看是幾核心幾執行緒的方法
在Linux中,可以利用grep指令來檢視CPU的核心數和線程數。
1、CPU個數字
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
2、每個CPU的核心數
grep 'core id' /proc/cpuinfo | sort -u | wc -l
3、執行緒數
grep 'processor' /proc/cpuinfo | sort -u | wc -l
此伺服器有4個CPU,每個CPU有4個核心,每個核心只有1個線程,所以線程數為16。
如果執行緒數是32,那麼每個CPU核心的執行緒數=32÷4÷4,結果為2
擴充知識:grep指令介紹
grep 指令的由來可以追溯到UNIX 誕生的早期,在UNIX 系統中,搜尋的模式(patterns)被稱為正則表達式(regular expressions),為了要徹底搜尋一個文件,有的用戶在要搜尋的字串前加上前綴global(全面的),一旦找到相符的內容,使用者就像將其輸出(print)到螢幕上,而將這一系列的操作整合到一起就是global regular expressions print,而這也就是grep 指令的全名。
grep指令能夠在一個或多個檔案中,搜尋某一特定的字元模式(也就是正規表示式),此模式可以是單一的字元、字串、單字或句子。
grep 指令是用來在每一個檔案或中(或特定輸出上)搜尋特定的模式,當使用grep 時,包含指定字元模式的每一行內容,都會被列印(顯示)到螢幕上,但是使用grep 指令不會改變文件中的內容。
grep 指令的基本格式如下:
grep [选项] 模式 文件名
這裡的模式,要嘛是字元(字串),要嘛是正規表示式。而此指令常用的選項以及各自的意義如表 1 所示。
#選項 | ##意思|
---|---|
只列出檔案中包含模式的行數。 | |
忽略模式中的字母大小寫。 | |
列出有符合行的檔案名稱。 | |
在每一行的最前面列出行號。 | |
列出沒有符合模式的行。 | |
把表達式當作一個完整的單字元來搜尋,忽略那些部分符合的行。 |
Linux影片教學》
以上是linux怎麼判斷CPU是幾核心幾線程的詳細內容。更多資訊請關注PHP中文網其他相關文章!