檢視邏輯CPU個數:
#cat /proc/cpuinfo |grep "processor"|sort -u|wc -l
24
檢視實體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"均相同,說明開啟了超線程
或者換句話說
#!/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 "*****************************"