文章目录
一、基本概念
cpu个数
- 物理cpu个数:物理CPU数就是实际服务器中插槽上的CPU个数,主板上实际插入的cpu数量
- 逻辑cpu个数:物理CPU个数 * 每颗物理CPU的核数 * 超线程数
cpu核数
每个物理CPU可以有1个或者多个物理内核,通常每颗物理CPU的内核数都是固定的,cpu核数就是指单块CPU上面能处理数据的芯片组的数量,如双核、四核等 (cpu cores)
超线程技术
超线程(Hyper-Threading,简称“HT”)技术,就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。
二、查看命令
CPU的基础信息通常记录在/proc/cpuinfo文件中,我们可以通过cat /proc/cpuinfo | grep ...
命令进行查看。
查看CPU型号
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
输出:
查看物理CPU个数(物理层面)
cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l
查看每个物理CPU中core个数(核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
查看逻辑CPU个数(逻辑层面)
方法一:
cat /proc/cpuinfo| grep "processor"| wc -l
方法二:
lscpu
注:上图中Thread(s) per core: 2
代表每个核有2个超线程。
三、以上概念的关系
从上面执行的结果来看,证明我使用的cpu有2 * 4 = 8核,每个核有2个超线程,所以有16个逻辑cpu。即:
CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数