Linux系统下查看CPU信息
查看CPU信息(型号):
# cat /proc/cpuinfo| grep name | cut -f2 -d: | uniq -c
8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
(看到有8个逻辑CPU, 也知道了CPU型号)
查看逻辑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 "cpucores" /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内核数没有开启超线程
一次性查询所有信息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!/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
*****************************