Linux下怎么区分物理CPU、逻辑CPU和CPU核数-成都快上网建站

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

这篇文章主要讲解了“Linux下怎么区分物理CPU、逻辑CPU和CPU核数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下怎么区分物理CPU、逻辑CPU和CPU核数”吧!

我们提供的服务有:成都网站建设、做网站、微信公众号开发、网站优化、网站认证、神农架林区ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的神农架林区网站制作公司

㈠ 概念
     ① 物理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核数这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网站名称:Linux下怎么区分物理CPU、逻辑CPU和CPU核数
标题URL:http://kswjz.com/article/ggjdhc.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流