processor 逻辑处理器的id。
physical id 物理封装的处理器的id。
core id 每个核心的id。
cpu cores 位于相同物理封装的处理器中的内核数量。
siblings 位于相同物理封装的处理器中的逻辑处理器的数量。
基础知识--超线程的概念:
“超线程(Hyper-Threading,简称“HT”)”技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。
超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。
总核数 = 物理CPU个数 X 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
一、首先需要知道CPU物理个数:
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
或者
grep 'physical id' /proc/cpuinfo |sort -u|wc -l
统计的数字为几,说明是几颗CPU
二、知道逻辑CPU个数:
cat /proc/cpuinfo| grep processor|sort|uniq|wc -l
或者
grep -c processor /proc/cpuinfo
[root@localhost ~]# cat /proc/cpuinfo| grep processor|sort|uniq|wc -l
12
得到12,说明有12个逻辑CPU。
三、查看siblings数量:
grep "siblings" /proc/cpuinfo|uniq
[root@localhost ~]# grep "siblings" /proc/cpuinfo|uniq
siblings : 12
四、查看cpu cores数量:
grep "cpu cores" /proc/cpuinfo|uniq
[root@localhost ~]# grep "cpu cores" /proc/cpuinfo|uniq
cpu cores : 6
如果“siblings”和“cpu cores”一致,则说明不支持超线程,或者超线程未打开。如果“siblings”是“cpu cores”的两倍,则说明支持超线程,并且超线程已打开。如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。
[root@localhost ~]# grep 'core id' /proc/cpuinfo
core id : 0
core id : 1
core id : 2
core id : 3
core id : 4
core id : 5
core id : 0
core id : 1
core id : 2
core id : 3
core id : 4
core id : 5
可见这一服务器开启了超线程。
五、一个工具,可以很方便的检测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 "*****************************"
sh cpu.sh
[root@29 /]# bash cpu.sh
****** CPU Information ******
Logical CPU Number : 1
Physical CPU Number : 1
CPU Core Number : 1
HT Number : 1
*****************************
网友评论