3359 blog.csdn.net/ketonfly/article/details/12949823
在Linux系统上,如何详细了解CPU的信息呢? 当然在cat /proc/cpuinfo上进行了检查,例如多少物理CPU/多少内核/多少线程,这些问题怎么确定呢?
我查了一下,我的开发机是一个物理CPU,四核八线程,英特尔酷睿TM ) i7 CPU 860 @ 2.80GHz
记录下来,判断的过程和知识。
判断的根据:
1 .具有相同core id的cpu是同一core的超线程。
2 .具有相同物理id的cpu是同一cpu软件包的线程或cores。
英文版:
1.physicalidandcoreidarenotnecessarilyconsecutivebuttheyareunique.anycpuwithesamecoreidarehyperthreadsinthesamecore。
2.anycpuwithesamephysicalidarethreadsorcoresinthesamephysicalsocket。
echo 'logical CPU number: '
#逻辑CPU数
cat/proc/CPU info|grep ' processor '|WC-l
echo 'physical CPU number: '
#物理CPU数量:
cat/proc/CPU info|grep ' physical id '|sort-u|WC-l
echo ' corenumberinaphysicalcpu : '
#每个物理CPU的核心数:
cat/proc/CPU info|grep ' CPU cores '|uniq|awk-f : ' {打印$2}
查看core id的数量,它是所有物理CPU上的core的数量
cat/proc/CPU info|grep ' core id '|uniq|WC-l
#是超线程吗?
#如果有两个逻辑CPU具有相同的“核心id”,则超线程处于打开状态。 或siblings的数量大于cpu cores的数量。
#每个物理CPU的逻辑CPU (核心、threads或both )数:
cat /proc/cpuinfo | grep 'siblings '
/proc/cpuinfo文件包含系统中每个处理器的数据部分。 /proc/cpuinfo的描述包括六个条目:处理器、厂商id、物理id、siblings、核心id和CPU核心(HT )技术检查
processor条目包含此逻辑处理器的唯一标识符。
physical id条目包含每个物理封装的唯一标识符。
core id条目保存每个内核的唯一标识符。
siblings条目列出了同一物理软件包中的逻辑处理器的数量。
cpu cores条目包含同一物理软件包中的内核数量。
如果处理器是英特尔处理器,则厂商id条目的字符串为GenuineIntel。
1 .具有同一物理id的所有逻辑处理器共享同一物理套接字。 每个物理id都表示一个唯一的物理软件包。
2.Siblings表示此物理软件包中的逻辑处理器的数量。 可能支持超线程(HT )技术,也可能不支持。
3 .每个酷睿id代表一个唯一的处理器内核。 具有相同core id的所有逻辑处理器都位于同一处理器核心上。
4 .如果多个逻辑处理器具有相同的酷睿id和物理id,则系统支持超线程技术。
5 .如果两个或多个逻辑处理器具有相同的物理id,但酷睿id不同,则这是多核处理器。 cpu cores条目还指示是否支持多核。
确定处理器是否为64位,然后检查处理器信息的闪存部分以查看是否存在液晶屏。
Are the processors 64-bit?
a64-bitprocessorwillhavelm (长模式) intheflagssectionofcpuinfo.a32-bitprocessorwillnot。
文章2 :
在研究linux系统的负载时,接触并与大家分享有关CPU信息显示的知识。 通过分析/proc/cpuinfo文件中的参数,我学到了很多。
在linux操作系统上,CPU信息在启动期间加载到虚拟目录/proc下的cpuinfo文件中。 在cat /proc/cpuinfo上确认一下吧。
上图是本人电脑的CPU信息,我们来分析一下其中的几个重要指标。
处理器逻辑处理器的id。 物理id物理封装的处理器的id。 核心id每个核心的id。 cpu cores是同一物理封装的处理器中的内核数。 siblings在同一物理封装的处理器中的逻辑处理器的数量。 回到上图吧。 我的物理id都是0,表示只有一个物理处理器。
我的processor有两个不同的号码,属于同一physical id。 此外,cpu cores的值为2表示CPU为双核,每个核心只有一个逻辑处理器。
为了加深对这些参数的理解,让我们看一下另一个作为工作站服务器的图片。
在此服务器上,' cpu cores '为4,physical id为2,core id为8,siblings的值为8,总共有16个处理器。
因此,该服务器主机上的CPU是两个物理封装的处理器,每个处理器还有四个处理核(cpu cores ),每个cpu core有两个逻辑处理器(超线程技术) 这次明白了吧。 的大致结构如下。
但是,如果系统在虚拟机上运行呢? 让我们来看看。 注:以下虚拟机中的服务器配置与上述服务器配置相同:
从图中可以看到,由于虚拟机技术的原因,虚拟机中的linux不显示physical id和cpu cores等参数。