Linux cpuinfo 详解

在Linux系统中,如何详细了解CPU的信息呢? 当然是通过cat /proc/cpuinfo来检查了,但是比如几个物理CPU/几核/几线程,这些问题怎么确定呢?

经过查看,我的开发机器是1个物理CPU,4核8线程,Intel(R) Core(TM) i7 CPU 860  @ 2.80GHz
记录一下,判断的过程和知识。
 
判断依据:
1.具有相同core id的cpu是同一个core的超线程。
2.具有相同physical id的cpu是同一颗cpu封装的线程或者cores。
英文版:
1.Physical id and core id are not necessarily consecutive but they are unique. Any cpu with the same core id are hyperthreads in the same core.
2.Any cpu with the same physical id are threads or cores in the same physical socket.
 
echo "logical CPU number:"
#逻辑CPU个数
cat /proc/cpuinfo | grep "processor" | wc -l
 
echo "physical CPU number:"
#物理CPU个数:
cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l
 
echo "core number in a physical CPU:"
#每个物理CPU中Core的个数:
cat /proc/cpuinfo | grep "cpu cores" | uniq | awk -F: '{print $2}'
#查看core id的数量,即为所有物理CPU上的core的个数
cat /proc/cpuinfo | grep "core id" | uniq |  wc -l
 
#是否为超线程?
#如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。或者siblings数目比cpu cores数目大。
#每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:
cat /proc/cpuinfo | grep "siblings"
 
 
/proc/cpuinfo 文件包含系统上每个处理器的数据段落。/proc/cpuinfo 描述中有 6 个条目适用于多内核和超线程(HT)技术检查:processor, vendor id, physical id, siblings, core id 和 cpu cores。
processor 条目包括这一逻辑处理器的唯一标识符。
physical id 条目包括每个物理封装的唯一标识符。
core id 条目保存每个内核的唯一标识符。
siblings 条目列出了位于相同物理封装中的逻辑处理器的数量。
cpu cores 条目包含位于相同物理封装中的内核数量。
如果处理器为英特尔处理器,则 vendor id 条目中的字符串是 GenuineIntel。
 
1.拥有相同 physical id 的所有逻辑处理器共享同一个物理插座。每个 physical id 代表一个唯一的物理封装。
2.Siblings 表示位于这一物理封装上的逻辑处理器的数量。它们可能支持也可能不支持超线程(HT)技术。
3.每个 core id 均代表一个唯一的处理器内核。所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。
4.如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。
5.如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id 不同,则说明这是一个多内核处理器。cpu cores 条目也可以表示是否支持多内核。
 
判断CPU是否64位,检查cpuinfo中的flags区段,看是否有lm标识。
Are the processors 64-bit?   
A 64-bit processor will have lm ("long mode") in the flags section of cpuinfo. A 32-bit processor will not.

本文出自 “icooke的博客” 博客,请务必保留此出处http://icooke.blog.51cto.com/4123148/757555



为了加深大家对这几个参数的理解,我们再来看另外一张图片,这是一台工作站的服务器:


在这个服务器上,'cpu cores' 为4,physical id 有两个,core id有8个,siblings的值为8,总共有16个processor。

所以这个服务器主机的CPU为2个物理封装的处理器,每个处理器又有4个处理核心(cpu cores),每个cpu core有可划分为2个逻辑处理器(超线程技术),因此,每个物理处理器上有8个逻辑处理器,总共就有16个processor。这回明白了吧。大体的结构如下图:


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: /proc/cpuinfo 文件包含有关 CPU 的详细信息。它显示了每个 CPU 核心的型号、主频、缓存大小等信息。它还显示了系统总共有多少 CPU 核心。信息是以文本格式存储的,每一行都包含一个关键字,后面跟着冒号和一个值。 常见的关键字有: - processor: CPU 核心编号。 - vendor_id: CPU 制造商。 - model name: CPU 型号。 - cpu MHz: CPU 主频。 - cache size: CPU 缓存大小。 - physical id: 物理 CPU 编号。 - cores: 每个物理 CPU 核心数。 - cpu cores: 物理 CPU 核心数。 - processor: CPU 核心编号。 以上为一部分,根据不同的CPU会有不同的关键字 通过阅读这个文件,你可以了解你的系统中有多少 CPU 核心,每个核心的型号、主频和缓存大小等信息。 ### 回答2: cat /proc/cpuinfo这个命令是用来查看Linux系统中CPU信息的。CPU是计算机的中央处理器,负责执行计算任务和控制计算机的各种操作。因此,了解CPU信息对于我们优化系统性能、选择硬件等方面都非常有帮助。 在执行cat /proc/cpuinfo命令后,会输出一系列的CPU信息,主要包括以下几个部分: 1. Processor:这一项表示当前系统中第N个CPU,其中N是一个数字。 2. vendor_id:CPU制造商的标识符,例如Intel、AMD等。 3. model name:CPU型号,例如Intel Xeon E5-2680 v4。 4. MHz:CPU的运行频率,单位是MHz。 5. cache size:CPU的缓存大小,一般包括L1、L2、L3三级缓存。 6. physical id:如果系统中有多个CPU,每一个CPU都有一个物理编号。 7. siblings:同时存在于同一个Physical id(物理编号)的CPU数量,如果是1代表这个物理编号只有一个核。 8. Core id:每个物理编号(socket)中的CPU核心。如果一个物理编号中有4颗CPU核心,则Core id范围是0-3。 9. cpu cores:CPU核数,如果是4代表这个CPU是4核CPU。 通过以上信息,我们可以了解到当前系统中的CPU配置、数量、性能等信息。在进行系统优化、软硬件升级等工作时,这些信息都会对我们有很大的帮助。 总之,cat /proc/cpuinfo命令提供了很多有用的CPU信息,而且这些信息都是实时的,因此可以帮助我们更好地掌握系统的运行情况。 ### 回答3: /cat /proc/cpuinfo/ 是一条在Linux系统中用于显示CPU信息的命令。CPU指的是中央处理器,是计算机中的核心组件之一。 /cat /proc/cpuinfo/可以让用户查询关于CPU的详细信息,包括CPU型号、架构、核心数量、缓存大小、CPU时钟频率、支持的指令集等。该命令返回大量的信息,但是各个信息的含义对普通用户来说可能不太容易理解。 当用户使用/cat /proc/cpuinfo/ 命令时,会出现大量的信息,这些信息主要包括: processor:指CPU的处理器单元数量。如果系统有多个处理器,那么就会在这里看到多个。例如,如果看到了processor:0和processor:1,那么就说明系统中有2个CPU。 vendor_id:指CPU的制造商。常见的有Intel、AMD等。 CPU family:指CPU所属的家族,例如Intel的Core i7就属于Core家族,而AMD的Ryzen则属于Ryzen家族。 model name:指CPU的型号和名称,例如Intel Core i7-9750H。 stepping:指CPU制造过程中不同阶段的版本。这一指标通常只对CPU硬件研究人员有用。 CPU MHz:指CPU工作时钟频率,单位为MHz。 cache size:指CPU缓存容量大小,缓存通常分为三级:L1、L2、L3,容量越大、级别越高的缓存速度越快,但是成本也越高。 physical id:指连接到系统主板的CPU插槽数量。 siblings:指具有相同物理ID的CPU核心数量。 core id:指系统中每个CPU核心的唯一ID,相同物理ID的核心具有相同的ID。 cpu cores:指每个物理CPU上的CPU核心数,例如,Intel Core i7-9750H就有6个核心。 apicid:在支持高级配置和电源管理接口(ACPI)的系统中,用于CPU与主板之间的通信。 初次使用Linux用户可以通过/cat /proc/cpuinfo/命令来了解自己系统中的CPU配置信息,这也可以作为选择购买CPU时的一个参考因素。当然,对于一些特定的应用程序和任务来说,理解CPU的详细信息也可能是十分关键的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值