服务器实际插槽上的CPU个数,物理cpu数量,可以数/proc/cpuinfo中不重复的 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 核数:单块 CPU 上面能处理数据的芯片组的数量,如双核、四核等 (cpu cores 核心 单块CPU上面集成一个或者多个处理器芯片(称为Core,核心) CPU 最初发展的时候是一个 CPU 一个处理核心,CPU 的性能主要靠提高核心工作频率来提高,但是仅仅提高单核芯片的速度会产生过多热量且无法带来相应的性能改善。为了提升处理器的能效,于是发展出来了双核心 CPU(Dual-core processor) 和多核心的 CPU(Multi-core processor),在物理上是把 2 个或者更多的独立处理器芯片封装在一个单一的集成电路中。
逻辑 CPU 个数 决定了服务器并行(同时)处理任务的能 一般情况下,逻辑cpu = 物理cpu个数 × cpu核数,如果不相等的话,则表示服务器的 CPU 支持超线程技术 简单来说,它可使处理器中的1颗内核如2颗内核那样在操作系统中发挥作用。这样操作系统可使用的执行资源扩大了一倍,大幅提高了系统的整体性能,此时逻辑cpu=物理cpu个数×cpu核数× 开始的时候CPU是一个核心一个线程,为了进一步提升CPU的处理能力,Intel又引入了HT(Hyper-Threading,超线程)的技术,一个Core打开HT之后,在操作系统看来就是两个核,当然这个核是逻辑上的概念,所以也被称为逻辑处理器(Logical Processor)。“超线程”(Hyperthreading Technology)技术就是通过采用特殊的硬件指令,可以把两个逻辑内核模拟成两个物理超线程芯片,在单处理器中实现线程级的并行计算,同时在相应的软硬件的支持下大幅度的提高运行效能,从而实现在单处理器上模拟双处理器的效能。其实,从实质上说,超线程是一种可以将CPU内部暂时闲置处理资源充分“调动”起来的技术。