年薪50w软测工程师,带你了解,Linux系统物理CPU和逻辑CPU的区别

年薪50w软测工程师,带你了解,Linux系统物理CPU和逻辑CPU的区别

strong>01
 

问题

 

最近在搞Linux下性能评测,在做CPU评测时发现了个有意思的现象,因为uos系统是自带系统监视器的,在对输入法进程检测时,发现其CPU占用率为1%:

年薪50w软测工程师,带你了解,Linux系统物理CPU和逻辑CPU的区别

 编辑 搜图

    但是我用top命令查询时却发现它的CPU占用率为4%!

 

年薪50w软测工程师,带你了解,Linux系统物理CPU和逻辑CPU的区别

    这是什么鬼输入法的bug是系统的bug/p>

 

年薪50w软测工程师,带你了解,Linux系统物理CPU和逻辑CPU的区别

02

问题查询

    查询了资料才发现Linux下的CPU是区分物理CPU和逻辑CPU的,呼,好险,如果提了bug,估计开发就该疯了。。。

 

年薪50w软测工程师,带你了解,Linux系统物理CPU和逻辑CPU的区别

 

年薪50w软测工程师,带你了解,Linux系统物理CPU和逻辑CPU的区别

    那么什么是物理CPU么是逻辑CPU们之间又有什么区别那/p>

03

物理CPU

    实际机器中插槽上的CPU个数;物理cpu数量,可以通过命令数不重复的physical id有几个来查询。

    查询命令:cat /proc/cpuinfo | grep “physical id” | sort | uniq | wc –l

 

年薪50w软测工程师,带你了解,Linux系统物理CPU和逻辑CPU的区别

    这说明我的uos系统物理CPU只有1个。

04

CPU核数

    一块物理CPU上能处理数据的芯片组数量。也就是说一个物理CPU上可能会有多个核心,日常中说的双核,四核就是指的CPU核心。可通过如下命令来查看CPU核心数:

cat /proc/cpuinfo | grep  “cores” | uniq

 

年薪50w软测工程师,带你了解,Linux系统物理CPU和逻辑CPU的区别

05

逻辑CPU

    逻辑CPU数量=物理cpu数量 x cpu cores x 2(如果支持并开启ht)。

    一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT),可以在逻辑上再分一倍数量的cpu core出来;所以逻辑CPU的值理论上是可以超过100%的。

Ps:Linux下top查看的CPU也是逻辑CPU个数

查询命令:cat /proc/cpuinfo | grep  “processor” | wc –l

 

年薪50w软测工程师,带你了解,Linux系统物理CPU和逻辑CPU的区别

     根据换算公式:

    逻辑CPU个数(4个)=物理cpu数量(1个) x cpu cores(4) x 1(不支持ht超线程技术)

    这说明我的逻辑CPU个数是4个;怪不得我用top命令得出的结果是系统监视器的4倍!!!

 

年薪50w软测工程师,带你了解,Linux系统物理CPU和逻辑CPU的区别

     最后,再简单说下超线程吧。

06

超线程

    一个CPU核就是一个物理线程,由英特尔开发超线程技术可以把一个物理线程模拟出两个线程来使用,使得单个核心用起来像两个核一样,以充分发挥CPU的性能。

    Ps:一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术。

07

说在最后

    在Linux下进行测试时要摒弃很多Windows的固有思维,如进程概念,Windows下关闭输入法相关进程后台会自动退出,但是Linux下后台进程是随着系统启动,除非强杀否则不会退出;同样,Linux下的CPU和内存机制与Windows也有着很大不同,尤其是内存的管理机制,感兴趣同学可以自行查询相关概念,相信一定会收益颇丰。

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8584 人正在系统学习中

年薪50w软测工程师,带你了解,Linux系统物理CPU和逻辑CPU的区别 微信公众号 年薪50w软测工程师,带你了解,Linux系统物理CPU和逻辑CPU的区别 关注公众号,领取软件测试海量学习资料!

来源:普通网友

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年11月27日
下一篇 2021年11月27日

相关推荐