查看cpu核的相关信息

####### 查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
80 Intel(R) Xeon(R) CPU E7-4820 v3 @ 1.90GHz

####### 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
4

####### 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores : 10

####### 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
80

当我们看到cpu个数是4 ,cpu中的核数是10,那逻辑cpu80是怎么来的呢?
首先10个核是指在一个cpu中集成了10个完整的计算引擎(内核)。
####### 多核
多核:仅仅提高单核芯片的速度会遇到很多问题,英特尔工程师转而“横向发展”,提高计算机性能。线程应用能够充分利用多个内核,在同样的时间内完成更多的任务,大大提高cpu的性能。多核处理器是单枚芯片,可以插入一个处理器卡槽内,操作系统会利用相关资源将单枚芯片中的多个执行内核分立为多个处理器。

####### 多线程(不同于程序中的多线程)
事实上单个执行内核的性能并没有被充分利用,因此工程师们又采用了另一个思路去提高cpu性能,即让单个执行内核可以同时执行多重线程,从而进一步提高cpu性能,这就是所谓的超线程技术。

虽然单线程核心每秒能处理成千上万条指令,但任一时刻,内核只能对一条线程进行操作,而其实这个内核还有很多性能没有被利用到,空闲着。超线程技术就是在一个执行内核上同时执行两个线程,两个线程共享这一个内核的资源。理论上来说就像两个独立的执行内核分别同时执行两个线程一样,但其实并不是这样。当两个线程同时需要同一个内核资源时,其中一个线程必须等待另一个线程使用完后释放资源,才能继续执行。所以超线程性能并不等于两个执行内核的性能。这里的多线程只是逻辑上的多线程,并不是真正意义上独立的多线程。

这就证明我们上面80个逻辑cpu是怎么来的了,每个核又有两个超级线程。

以下吗,命令也可以查看cpu信息

lvph@jupiter ~]$ grep processor /proc/cpuinfo |wc -l # 查看逻辑cpu
80
[lvph@jupiter ~]$ grep -c processor /proc/cpuinfo # 查看逻辑cpu
80
[lvph@jupiter ~]$ cat /proc/cpuinfo # 列出全部cpu相关信息(此内容会比较多)

posted @ 2019-09-19 17:04  lvph  阅读(286)  评论(0编辑  收藏  举报