1. 程式人生 > >linux下CPU資訊查詢

linux下CPU資訊查詢

1.檢視邏輯CPU個數:

#cat /proc/cpuinfo |grep "processor"|sort -u|wc -l
24

2.由於有超執行緒技術有必要檢視一下物理CPU個數:
#grep "physical id" /proc/cpuinfo|sort -u|wc -l 
2
#grep "physical id" /proc/cpuinfo|sort -u 
physical id : 0
physical id : 1

檢視每個物理CPU核心個數:
#grep "cpu cores" /proc/cpuinfo|uniq
cpu cores : 6

每個物理CPU上邏輯CPU個數:
#grep "siblings" /proc/cpuinfo|uniq
siblings : 12

判斷是否開啟了抄超執行緒:
如果多個邏輯CPU的"physical id"和"core id"均相同,說明開啟了超執行緒
或者換句話說
邏輯CPU個數 > 物理CPU個數 * CPU核心數 開啟了超執行緒
邏輯CPU個數 = 物理CPU個數 * CPU核心數 沒有開啟超執行緒

相關知識延伸閱讀:
一次性查詢所有資訊:
#!/bin/bash

physicalNumber=0
coreNumber=0
logicalNumber=0
HTNumber=0

logicalNumber=$(grep "processor" /proc/cpuinfo|sort -u|wc -l)
physicalNumber=$(grep "physical id" /proc/cpuinfo|sort -u|wc -l)
coreNumber=$(grep "cpu cores" /proc/cpuinfo|uniq|awk -F':' '{print $2}'|xargs)
HTNumber=$((logicalNumber / (physicalNumber * coreNumber)))

echo "****** CPU Information ******"
echo "Logical CPU Number : ${logicalNumber}"
echo "Physical CPU Number : ${physicalNumber}"
echo "CPU Core Number : ${coreNumber}"
echo "HT Number : ${HTNumber}"

echo "*****************************"

執行結果:
#./cpuinfo 
****** CPU Information ******
Logical CPU Number : 24
Physical CPU Number : 2
CPU Core Number : 6
HT Number : 2