cpu个数、核数、超线程的一些概念

cpu个数:

        物理cpu个数:物理CPU数就是实际服务器中插槽上的CPU个数,主板上实际插入的cpu数量

        逻辑cpu个数:物理CPU个数 * 每颗物理CPU的核数 * 超线程数

cpu核数:

        每颗物理CPU可以有1个或者多个物理内核,通常每颗物理CPU的内核数都是固定的,cpu核数就是指单块CPU上面能处理数据的芯片组的数量,如双核、四核等 (cpu cores)

超线程技术:

        超线程(Hyper-Threading,简称“HT”)技术。
超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,
让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,
减少了CPU的闲置时间,提高的CPU的运行效率。

        超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,
理论上要像两颗CPU一样在同一时间执行两个线程,
虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,
每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,
其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。
因此超线程的性能并不等于两颗CPU的性能

查看物理cpu个数:

        cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

        

查看物理cpu的核数:

        cat /proc/cpuinfo | grep "cpu cores" | sort | uniq

         

查看系统是否开启超线程:

        lscpu命令查看cpu的状态,超线程状态下threads per core数值为2,禁用时为1.

cpu个数、核数、超线程的一些概念_第1张图片

以上概念的关系:

        CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数

        总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数

注意: 应用最大有效计算并行度即为所在机器的逻辑cpu个数,top然后输入1可显示所有逻辑cpu具体的消耗

你可能感兴趣的:(linux系统,linux)