最近在研究linux系统负载的时候,接触到一些关于CPU信息查看的知识,和大家分享一下。通过对/proc/cpuinfo文件中的参数的分析,也学到了不少东西。
在linux操作系统中,CPU的信息在启动的过程中被装载到虚拟目录/proc下的cpuinfo文件中,我们可以通过 cat /proc/cpuinfo 查看一下:
上图是本人电脑的CPU信息,下面我们来分析其中几个比较重要的指标:
- processor 逻辑处理器的id。
- physical id 物理封装的处理器的id。
- core id 每个核心的id。
- cpu cores 位于相同物理封装的处理器中的内核数量。
- siblings 位于相同物理封装的处理器中的逻辑处理器的数量。
我们返回去看上图,我的physical id 都为0,说明我只有一个物理处理器;
我的processor有两个不同的编号,并且同属于一个physical id,同时cpu cores 的值为2,这也就说明了我的CPU是双核心的,并且每个核心只有一个逻辑处理器。
为了加深大家对这几个参数的理解,我们再来看另外一张图片,这是一台工作站的服务器:
在这个服务器上,'cpu cores' 为4,physical id 有两个,core id有8个,siblings的值为8,总共有16个processor。
所以这个服务器主机的CPU为2个物理封装的处理器,每个处理器又有4个处理核心(cpu cores),每个cpu core有可划分为2个逻辑处理器(超线程技术),因此,每个物理处理器上有8个逻辑处理器,总共就有16个processor。这回明白了吧。大体的结构如下图: