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

介绍

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

<强>㈠概念
<>强,,,,①物理CPU
<>强,,,,,,实际服务器中插槽上的CPU个数
<>强,,,,,,物理cpu数量,可以数不重复的物理标识有几个
<强>,,,
<强>,,,②逻辑CPU
<>强,,,,,,Linux用户对/proc/cpuinfo这个文件肯定不陌生。它是用来存储cpu硬件信息的
<>强,,,,,,信息内容分别列出了处理器0 - n的规格。这里需要注意,如果你认为n就是真实的cpu数的话,就大错特错了
<>强,,,,,,一般情况,我们认为一颗cpu可以有多核,加上英特尔的超线程技术(HT),可以在逻辑上再分一倍数量的cpu核心出来
<>强,,,,,,逻辑CPU数量=物理CPU数量x CPU核这个规格值x 2(如果支持并开启ht)
<>强,,,,,,备注一下:Linux下上查看的CPU也是逻辑CPU个数
<>强,,,,,,
<强>,,,③CPU核数
<>强,,,,,,一块CPU上面能处理数据的芯片组的数量,比如现在的i5 760,是双核心四线程的CPU,而i5 2250是四核心四线程的CPU
<>强,,,,,,
<强>,,,一般来说,物理个CPU数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术
<强>,,,
<强>㈡查看CPU信息
<强>,,当我们猫/proc/cpuinfo时,
<强>,,具有相同的CPU核心id是同一个核心的超线程
<强>,,具有相同物理id的CPU是同一个CPU封装的线程或核心
<>强,,,,,,
<强>,
<强>㈢下面举例说明
<强>,①查看物理CPU的个数
<强>,,猫/proc/cpuinfo | grep“物理id"排序| | uniq | wc - l,

<强>,②查看逻辑CPU的个数
<强>,,猫/proc/cpuinfo | grep“processor" | wc -l ,

<强>,③查看CPU是几核
<强>,,猫/proc/cpuinfo | grep“cores" | uniq,


<强>==================补充================================================
<强> <>强劲的处理器数量单个cpu核数
参考:http://www.aixchina.net/Question/13399

=======================补充==================================================
的心田中的cpu,核心,套接字
http://blog.itpub.net/35489/viewspace-742337/

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

之处;,,,,stat_name=NUM_CPUS。这个值应该对应于逻辑cpu的数量。与CMT系统或
超螺纹处理器,这个值应该对应硬件线程的总数只,对于
多核处理器的系统中,这个值应该对应于所有核心硬件线程的总数
系统只,NUM_CPUS应该大于或等于NUM_CPU_CORES和NUM_CPU_SOCKETS只,
对应逻辑CPU数量,
对于CPU多线程或超线程,值应该指硬件线程总数。
对于多核处理器,值应该对应于系统中所有核的硬件线程总数。
NUM_CPUS值大于等于NUM_CPU_CORES和NUM_CPU_SOCKETS
那么也就是说,如果CPU物理个数为2,那么套接字=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核数