Linux系统下如何查看CPU个数

那年仲夏 提交于 2020-03-29 17:11:02

查看逻辑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
*****************************

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!