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

发布时间:2021-08-17 21:44:04 作者:chen
来源:亿速云 阅读:234

这篇文章主要讲解了“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信息
   当我们 cat /proc/cpuinfo 时,
   具有相同core id的CPU是同一个core的超线程
   具有相同physical id的CPU是同一个CPU封装的线程或核心
       
 
㈢ 下面举例说明
 ① 查看物理CPU的个数
   cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l  

 ② 查看逻辑CPU的个数
   cat /proc/cpuinfo |grep "processor"|wc -l   

 ③ 查看CPU是几核
   cat /proc/cpuinfo |grep "cores"|uniq  


==================补充================================================
number of processors 单个cpu核数
参考:http://www.aixchina.net/Question/13399

=======================补充==================================================
AWR中的CPUs, Cores, Sockets
http://blog.itpub.net/35489/viewspace-742337/

NUM_CPUS 8   表示逻辑CPU数量(Oracle数据库中表现出来的初始参数 cpu_count)
NUM_CPU_CORES 8    对应CPU Cores数量
NUM_CPU_SOCKETS 2  CPU Sockets数量

-        stat_name = NUM_CPUS. This value should correspond to the number of logical CPUs. For systems with CMT or
hyper-threaded processors, this value should correspond to the total number of hardware threads.  For systems with
multi-core processors, this value should correspond to the total number of hardware threads across all cores in the
system.  NUM_CPUS should be greater than or equal to NUM_CPU_CORES and NUM_CPU_SOCKETS.  
对应逻辑CPU数量,
对于CPU多线程或超线程,值应该指hardware threads总数。
对于多核处理器,值应该对应于系统中所有核的hardware threads总数。
NUM_CPUS值大于等于NUM_CPU_CORES and NUM_CPU_SOCKETS
那么也就是说,如果CPU物理个数为2,那么Sockets=2 (初略理解为插槽) ?   每颗 CPU 采用4核,每核4线程 ,  那么处理器(CMT)
能够支持16个并发执行的硬线程, 对应到 NUM_CPUS 是不是等于 2 * 4 * 4 = 32 (根据第二句红色语句)  ?   NUM_CPU_CORES=2*4 =8  ?

感谢各位的阅读,以上就是“Linux下怎么区分物理CPU、逻辑CPU和CPU核数”的内容了,经过本文的学习后,相信大家对Linux下怎么区分物理CPU、逻辑CPU和CPU核数这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. linux系统查看cpu核数的命令
  2. 在 Linux中查询CPU核数的方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux

上一篇:zimbra8.x怎么安装RapidSSL

下一篇:怎么允许主机ssh连接到docker容器中

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》