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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • FFmpeg从入门到精通读书笔记(1)

    FFmpeg从入门到精通读书笔记(1)笔者才开始学习音视频开发,FFmpeg从入门到精通读书笔记系列主要是基于阅读刘歧、赵文杰编著的《FFmpeg从入门到精通》以及雷霄骅博士博客总结写的入门心得体会。官方文档资料FFmpeg官方文档:https://ffmpeg.org/documentation.htmlFFmpeg官方wiki:http://trac.ffmpeg.org/wiki中文经典资料雷霄骅博士csdn链…

  • Excel均方误差计算公式_随机误差项的方差估计量推导

    Excel均方误差计算公式_随机误差项的方差估计量推导在Excel表中,有时需要计算方差,然后根据此图绘制图表,目标值指示偏差程度,然后如何计算方差?方差的概念方差是每个数据与平均值之间差异的平方和的平均值.在概率论和数理统计中,方差(英语方差)用于衡量随机变量与其数学期望值(即均值)之间的偏差程度.均方误差的概念也称为标准偏差,它是每个数据与平均值的距离的平均值.它是平方的平方根和与平均值的偏差的平均值.标准偏差可以反映数据集的分散程度.如…

  • c++ double转string

    c++ double转string//double精度17位stringDoubleToStr(doublenum){ ostringstreamout; //设置精度 out.precision(17); out<<num; returnout.str();}

    2022年10月28日
  • SSL和SSH有什么区别

    SSL和SSH有什么区别

  • Redis Sentinel实现Failover

    Redis Sentinel实现Failover

  • Thread 设置 IsBackground true false 的 运行差别

    Thread 设置 IsBackground true false 的 运行差别1.这是一个后台线程,IsBackground=true,主线程完成后,后台子线程也停止了,即使子线程还有没运行完,也要停止classProgram{staticvoidMain(string[]args){Threadt=newThread(()=>{…

    2022年10月16日

发表回复

您的电子邮箱地址不会被公开。

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