读懂/proc/cpuinfo

听过双核CPU,原生四核,四核八线程?到底指什么,很混乱;

查资料和实践,终于明白了。

首先明白几个概念?

1. 物理CPU:也有人称物理处理器,  与/proc/cpuinfo 中 physical id对应;

2. 逻辑CPU: 1个物理CPU可以虚拟出多个CPU,这就是逻辑CPU,与/proc/cpuinfo 中 processor对应;

3. 逻辑核数:  或者简称核数;1个物理CPU可能是双核心,也可能是4核心;与/proc/cpuinfo 中 core id 对应;

4.超线程技术:本来1个核心就运行1个线程,如果利用超线程技术,可以让1个核心运行2个线程。

5.每个物理CPU到底是几核呢? cat /proc/cpuinfo  | grep 'cores'  | uniq

6.每个物理CPU中逻辑CPU有多个呢?(这儿的逻辑CPU可能是core,也可能超线程中的线程,或者二者皆有之)

   #cat /proc/cpuinfo | grep 'siblings' | uniq、


简单总结:一个物理CPU可以有多个逻辑核心,一个核心可以运行多个线程。

                  原生四核就是没有使用超线程技术的真4核;

                  所谓四核八线程指:四个核心开启超线程后有8个线程;


存疑:目前的疑惑是VMware Workstation下的Centos虚拟机/proc/cpuinfo 

           根据虚拟机设置中CPU设置的不同,有时没有physical id,有时没有core id 这真的搞晕了????

           求大神指点迷津啊


<think> 我们注意到用户的问题是关于如何通过`cat /proc/cpuinfo`命令获取CPU序列号。根据提供的引用内容,我们可以得知: - 在引用[1]中提到,有些CPU在`/proc/cpuinfo`中会有一个`Serial`字段,例如:`Serial : 2ae34d231ad1c1f0`,但有些CPU(如A527)可能没有这个字段。 - 引用[3]中列出了`/proc/cpuinfo`中的一些参数,其中包含`Serial`,但同时也指出,有些硬件可能显示为`Serial : 0000000000000000`(即全零,可能表示不可用或未提供)。 因此,我们可以总结: 1. 并非所有CPU都会在`/proc/cpuinfo`中提供序列号(Serial Number)。 2. 如果存在,序列号会出现在`Serial`字段中。 具体步骤: 1. 在终端执行命令:`cat /proc/cpuinfo` 2. 在输出中查找以`Serial`开头的行,例如:`Serial : 2ae34d231ad1c1f0` 3. 如果存在,该行后面的字符串即为CPU序列号;如果不存在,则说明该CPU或系统没有提供序列号。 注意:根据引用[1]和引用[3]的例子,不同处理器(如ARM架构)的输出可能不同,有些可能没有序列号。 另外,需要提醒用户,获取CPU序列号的方法可能因硬件架构和内核版本而异。 </think>通过 `cat /proc/cpuinfo` 命令获取 CPU 序列号的方法如下: ### 操作步骤 1. **执行命令**: ```bash cat /proc/cpuinfo ``` 2. **查找序列号字段**: - 在输出中搜索 `Serial` 字段(区分大小写) - 示例格式: ``` Serial : 2ae34d231ad1c1f0 # 有效序列号[^1] Serial : 0000000000000000 # 无效序列号(全零表示不可用)[^3] ``` 3. **注意事项**: - **硬件依赖性**:并非所有 CPU 都提供序列号字段(如引用中提到的 A527 型号缺失该字段)[^1] - **ARM 架构差异**:ARM 处理器的序列号字段位置可能不同(通常在输出末尾)[^3] - **权限要求**:普通用户可直接查看,无需 root 权限 ### 典型输出示例 ```bash processor : 0 model name : ARMv7 Processor rev 5 (v7l) Hardware : Freescale i.MX6 Ultralite Serial : 2ae34d231ad1c1f0 # ← CPU序列号 ``` ### 替代方案 当序列号不可用时,可通过其他字段组合识别 CPU: 1. `CPU implementer` + `CPU part` + `CPU revision` (如 `0x41 + 0xd05 + 0x0` 组成唯一标识)[^3] 2. `model name` + `Hardware` 字段组合 > ⚠️ **重要提示**:现代 CPU 出于隐私考虑常隐藏序列号,全零值 `0000000000000000` 表示序列号不可用[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值