Linux下区分物理CPU、逻辑CPU和CPU核数

Linux下区分物理CPU、逻辑CPU和CPU核数

Linux下区分物理CPU、逻辑CPU和CPU核数

㈠ 概念

           ① 物理CPU               

              实际Server中插槽上的CPU个数

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

           ② 逻辑CPU               

              Linux用户对 /proc/cpuinfo 这个文件肯定不陌生. 它是用来存储cpu硬件信息的

              信息内容分别列出了processor 0 – 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信息          

          vendor id     如果处理器为英特尔处理器,则字符串是 GenuineIntel。

          processor     包括这一逻辑处理器的唯一标识符。

          physical id   包括每个物理封装的唯一标识符。

          core id       保存每个内核的唯一标识符。

          siblings      列出了位于相同物理封装中的逻辑处理器的数量。

          cpu cores     包含位于相同物理封装中的内核数量。

         1. 拥有相同 physical id 的所有逻辑处理器共享同一个物理插座,每个 physical id 代表一个唯一的物理封装。

         2. Siblings 表示位于这一物理封装上的逻辑处理器的数量,它们可能支持也可能不支持超线程(HT)技术。

         3. 每个 core id 均代表一个唯一的处理器内核,所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。简单的说:“siblings”指的是一个物理CPU有几个逻辑                      CPU,”cpu cores“指的是一个物理CPU有几个核。

         4. 如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。

         5. 如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id不同,则说明这是一个多内核处理器。cpu cores条目也可以表示是否支持多内核。

      

㈢ 下面举例说明

        ① 查看物理CPU的个数

 

[plain] 
view plain
copy

 
 
 

  1. #cat /proc/cpuinfo |grep “physical id”|sort |uniq|wc -l  
  2. 2  

        ② 查看逻辑CPU的个数

 

 

[plain] 
view plain
copy

 
 
 

  1. #cat /proc/cpuinfo |grep “processor”|wc -l  
  2. 24  

        ③ 查看CPU是几核

 

 

[plain] 
view plain
copy

 
 
 

  1. #cat /proc/cpuinfo |grep “cores”|uniq  
  2. 6   

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

转载于:https://www.cnblogs.com/gaoyuechen/p/9051940.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101657.html原文链接:https://javaforall.net

(0)
上一篇 2021年6月5日 上午9:00
下一篇 2021年6月5日 上午10:00


相关推荐

  • 【单片机】DIY无刷电机驱动器 1

    【单片机】DIY无刷电机驱动器 1参考文章 机械自动化 BLDC 驱动器 ESC 控制直流无刷电机和控制直流有刷电机的最大区别有两点 1 有刷直流电机使用用两个驱动桥臂 无刷直流电机需要使用三个驱动桥臂 2 有刷直流电机使用碳刷换相 无刷直流电机需要外部控制换相 这里为了简化 没有使用霍尔传感器以及参考文章中介绍的反电势法 BEMF 原理进行换相检测 这里使用的方法是 猜 猜 法很简单 就是我觉得该换相了 就

    2026年3月26日
    2
  • pycharm怎么修改html的字体大小,怎么改pycharm的字体大小

    pycharm怎么修改html的字体大小,怎么改pycharm的字体大小如何更改 pycharm 结果显示字体打开 pycharm 我们看到左边是没有行号显示的 在工具栏中点击扳手的标志 打开 找到 Ide setting gt Editor gt Apperance gt 勾选 Showlinenumb 点击 apply ok 然后我们就可以看到在代码的左边有对应的行号了 linuxpycharm 怎么改字体方法 步骤 1 首先 在 F

    2026年3月27日
    1
  • Django 安装_centos redis安装

    Django 安装_centos redis安装安装redis1.使用Homebrew安装Redisbrewinstallredis执行上述命令后出现以下内容,则成功安装Downloadfailed:https://mirrors.

    2022年7月30日
    8
  • oracle建表语句以及约束

    oracle建表语句以及约束创建表基本语法 约束实体完整性主键约束唯一性约束域完整性 check 约束引用完整性 ForeignKEY 约束非空 NOTNULL 约束 顾名思义 所约束的列不能为 NULL 值 否则就会报错创建列级约束创建表级约束主键 唯一性约束 Check 约束 ForeignKEY 例

    2025年11月3日
    4
  • 一个概括性关于维数约简的论文

    一个概括性关于维数约简的论文
    http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107.1327&rep=rep1&type=pdf

    2022年6月1日
    36
  • docker里镜像用ipv6无法访问_虚拟服务器端口设置

    docker里镜像用ipv6无法访问_虚拟服务器端口设置前言我有一个朋友,他在Dev和Test服务器用Docker搭建了Redis供项目使用,然后今天Test环境的Redis端口访问不通了,在服务上可以正常连接,真是离了个大齐,让我们试试排查排查问题;正文端口检测lsof已确认在本地用telnetip6381访问不通,那就上服务上看看端口情况DevTestDev环境同时映射到Ipv6和Ipv4端口,Test环境仅映射到Ipv6,那基本上就可以断定是环境问题了容器状态dockerps既然端口映射

    2022年8月31日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号