Linux系统下如何查看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 "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内核数 没有开启超线程


一次性查询所有信息:

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
*****************************


你可能感兴趣的:(linux,服务器,cpu个数)