linux查看cpu个数命令

linux查看cpu个数命令,第1张

(一)概念

物理CPU

实际Server中插槽上的CPU个数

物理cpu数量,可以数不重复的 physical id 有几个

逻辑CPU

/proc/cpuinfo 用来存储cpu硬件信息的

信息内容分别列出了processor 0 –processor n 的规格。这里需要注意,n是逻辑cpu数

一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT), 可以在逻辑上再分一倍数量的cpu core出来

逻辑CPU数量=物理cpu数量 x cpu cores 这个规格值 x 2(如果支持并开启ht)

备注一下:Linux下top查看的CPU也是逻辑CPU个数

③ CPU核数

一块CPU上面能处理数据的芯片组的数量、比如现在的i5 760,是双核心四线程的CPU、而 i5 2250 是四核心四线程的CPU

一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术

二 查看CPU信息

当我们 cat /proc/cpuinfo 时、

具有相同core id的CPU是同一个core的超线程

具有相同physical id的CPU是同一个CPU封装的线程或核心

三 下面举例说明

① 查看物理CPU的个数

#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l

2

② 查看逻辑CPU的个数

#cat /proc/cpuinfo |grep "processor"|wc -l

24

③ 查看CPU是几核

#cat /proc/cpuinfo |grep "cores"|uniq

6

我这里应该是2个Cpu,每个Cpu有6个core,应该是Intel的U,支持超线程,所以显示24

首先为大家演示1个CPU的情况,这种情况最简单。

CPU的信息存放在/proc/cpuinfo中,如下图所示,physical id代表第几个CPU,编号从0开始,cpu cores 代表核数,可以看出是1颗1核的CPU,即CPU个数是1个。

请点击输入图片描述

在我们知道CPU信息具体存放文件后,我们可以简单使用 grep -c 'processor' /proc/cpuinfo来统计CPU个数。

请点击输入图片描述

下面演示下多颗CPU的查询情况,先查看下/proc/cpuinfo看看cpu信息有什么不同。可以看出是2颗4核的CPU,即CPU个数是8个。

请点击输入图片描述

同样,使用grep -c 'processor' /proc/cpuinfo来统计CPU个数。

请点击输入图片描述

也可以使用如下方式单独查询CPU个数、核数及逻辑CPU总数。

注意:总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数

查询CPU个数:

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

查询核数:

cat /proc/cpuinfo| grep "cpu cores"| uniq

查询逻辑CPU总数:

cat /proc/cpuinfo| grep "processor"| wc -l

请点击输入图片描述

最后,给大家介绍下CPU型号的查询方式。

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

请点击输入图片描述

详细Linux命令介绍请看《Linux命令大全》

1.查看逻辑CPU个数:

#cat /proc/cpuinfo |grep "processor"|sort -u|wc -l

24

2.由于有超线程技术有必要查看一下物理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内核数 没有开启超线程

相关知识延伸阅读:

一次性查询所有信息:

#!/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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8343037.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存