科百科
当前位置: 首页 范文大全

cpu使用率在多少算正常(CPU利用率的正确计算方法)

时间:2023-06-01 作者: 小编 阅读量: 2 栏目名: 范文大全

翻译蒋迪我们平时使用的CPU利用率方法是极具误导性的,并且一年更甚一年。我认为需要人将高CPU利用率视为处理单元的瓶颈的事儿,是错的。在超线程中,怠速周期可以被其他线程使用,所以%CPU的算法也会将其算在内,而实际上并没有利用。结论CPU利用率已成为一个极具误导性的指标:它算进了等待主存的周期,而这类周期在现代的CPU负载中占据不少。比如,它们可以一起显示%CPU和IPC,或者指令周期与怠速周期。

翻译 蒋迪

我们平时使用的CPU利用率方法是极具误导性的,并且一年更甚一年。那么什么是CPU利用率?是你的CPU到底有多忙,是像“% CPU”这样到处在用的指标所显示的那样吗?

在top命令里,你看到90%的CPU利用率是这样:

然而它真正想表达的是这个意思:

Stall(这里译作“怠速”)是说这个处理器没有在跑指令,比如在等待内存I/O的时候。我上图所画的比例(“忙”与“怠速”之间)是我在真实生产环境中遇到的,并且你的CPU也很可能是处于“怠速”状态。

这些对你有什么意义呢?理解CPU怠速多少,会直接影响到你在减少代码或者减少内存I/O的调优工作。

那么真正的CPU利用率怎么算呢?

平时的CPU利用都是非空闲时间,即CPU不运行idle线程(比如Windows里的空闲进程)的时间。你的操作系统那会平时会在上下文切换的时候跟踪它,但是假如一个非idle线程开始运行100毫秒后停止,那内核会认为后面这段时间CPU也在这个非idle线程上。

  • 使得这个%CPU指标错误的理由除了CPU在内存的怠速周期外,还有如下因素:

  • 温度也能使CPU进入怠速;

  • Turboboost(睿频)引起时钟频率变化;

  • SpeedStep引起时钟频率变化;

  • 一分钟内的80%的平均利用率并不能表示100%的突发利用率(类似网络QoS);

  • 自旋锁:CPU在很严肃地瞎忙;

  • Update: CPU利用率真的错了吗?

    自这篇文章发布以后,留言讨论非常激烈,已经有了上百条了。首先谢谢你们对这话题感兴趣并花时间阅读,但我在这里还是要统一回复:我对disk的iowait并不关心(译者注:PC CPU不能直接操作外部存储),并且文中也已经给出了内存操作密集型的对应调优措施。

    然而,CPU利用率到底是从本质上错了还是仅仅是有误导性了?我认为需要人将高CPU利用率视为处理单元的瓶颈的事儿,是错的。那么这个指标的计算方法从技术上讲正确吗?如果CPU在怠速期间不能被其他任何进程使用,那么这不就是所谓的“使用等待”(听起来有点矛盾)。某些情况下,%CPU作为一个操作系统层面的指标是技术正确但是容易误导人的。在超线程中,怠速周期可以被其他线程使用,所以%CPU的算法也会将其算在内,而实际上并没有利用。那样是不对的,这篇文章中我强调的是解释问题并提出对策,并且,这个指标也有技术上的问题。

    结论

    CPU利用率已成为一个极具误导性的指标:它算进了等待主存的周期,而这类周期在现代的CPU负载中占据不少。如果使用额外指标,你就能搞清楚%CPU到底意味着什么,包括每CPU周期执行指令数(IPC)。IPC < 1.0可能意味着你的应用是内存密集型,而IPC > 1.0则可能是指令密集型。我在之前的一篇文章,显示%CPU的性能监控产品也应该显示PMC测量指标,并给予充分解释,这样才不会误导用户。比如,它们可以一起显示%CPU和IPC,或者指令周期与怠速周期。有了这些指标,开发或管理人员才能在应用和操作系统中选择正确的调优方式。

    译者的话

    本文翻译自Brendan Gregg的博客文章《CPU Utilization is Wrong》,原文链接为http://www.brendangregg.com/blog/2017-05-09/cpu-utilization-is-wrong.html,就是那本《性能之巅(中译)》的作者,调试工具dtrace的作者,现就职于NetFlix。

    PS:为什么要翻译这个文章呢?因为很多时候总感觉PC的这个CPU利用率的百分比显示没能真实反应我的CPU到底忙不忙,在学校的时候用单片机也是算idle,但到了PC后隐约感觉这么算不对,看了BG的文章后才恍然大悟。另外这篇文章之前已经被翻译过,但作者又有更新,也挺有意思的,我就重新翻了一遍,并加了一些弹幕。

    译者介绍:云技术社区专家 蒋迪

    蒋迪,资深虚拟化基础设施工程师,《KVM私有云架构设计与实践》作者,云技术社区专家,擅长KVM云平台架构解析与虚拟化POC,具有一线开发与交付经验。

    云技术社区介绍:

    云技术社区成立于2014年,国内最大的云技术交流平台,分享在云计算/虚拟化项目实施中的资讯、经验和技术,坚持干货。

    ,
      推荐阅读
    • baby和蔡徐坤跑男多少集(蔡徐坤讲话时baby突然胃疼)

      一说到baby胃疼,或许大家并不是第一次听到了,因为在很多节目上杨颖都提到过自己在当模特和拍戏的时候,经常因为吃不上饭而饿到胃疼,可以说是很敬业了,而这次在亮相《跑男8》的时候,穿着闪闪发光的亮片裙的baby又胃痛了,但不想因为自己毁了拍摄,所以一直在坚持。好啦,以上就是小太阳要说的全部文章,我们下次见!

    • 清肺水果做法(润肺祛燥很美味)

      但要提醒的是,食疗虽好,如果症状不见缓解,需要及时到正规医院就诊,以免耽误病情。橙子橙子是柚子与橘子的杂交品种,橙子肉更接近柚子肉的药性,具有清凉、祛火的作用;橙子皮则更接近橘子皮,药性是温的,具有宣肺散寒、止咳平喘的作用。橘子中医称橘子皮的最外一层为橘红,性味辛温,具有宣肺散寒的作用。橘瓤上的白色网状经络叫橘络,有通络化痰、顺气的功效,常用于治疗痰滞咳嗽等症。注意不要剥掉橘瓤上白络。

    • 在职如何学英语(方法是什么)

      在职如何学英语坚持每一天,充分利用一切可以利用的时间学英语。没有持之以恒的学习和大量的时将做保障,一切都是空谈。每天听写一篇文章,以此文章为中心,展开一天的学习。听说读写译五项都要练,以听说为主。求质不求量,把听写的文章彻底搞懂足矣,不要好大喜功,贪大贪快。抓住一套教材足矣,不要盲目的更换教材。每天学习英语必须要有详细可行的计划,必须坚决执行,没有任何借口。相信自己,一定能够学好英语。

    • 可悲是什么意思(可悲意思是什么)

      可悲是什么意思可悲是一个汉语词语,读音kěbēi,意思是令人伤心的,令人悲痛的。唐·聂夷中《送友人归江南》诗:“上国身无主,下第诚可悲”。梁启超《小说与群治之关系》:“其最受欢迎者,则必其可惊可愕可悲可感,读之而生出无量噩梦,抹出无量眼泪者也”。丁玲《阿毛姑娘》三:“阿毛真想哭了,觉得一切都太可悲”。

    • 跑步前的热身和运动后的拉伸(做好这10个热身动作)

      如今跑步已经成为一项大众化的运动,无论在早晨,还是在夜晚,都能看见一些跑者的身影。先做早安式体前屈,身体自然站立,双腿并拢,两侧手臂向上举高,双手交叉,腹部收紧,背部挺直,缓慢地俯身向下,直至最大幅度时停止,再向上起身回位重复。最后交替抱膝,身体自然站立,右脚踩稳地面,将左腿屈膝上抬,并用双手抱住左腿。

    • 杂豆粥的功效(杂豆粥的功效与禁忌)

      关于杂豆粥的功效相信很多朋友都有听过吧,下面让小编来给您总结一下。杂豆粥杂豆粥的功效提到豆类食物,很多人分不太清楚,容易把凡是叫法上带豆的都归为一类,如绿豆、红豆、芸豆等杂豆与大豆等同。

    • 神雕侠侣大集结(神雕侠侣别传)

      今天小编要给大家揭秘一下神雕侠侣中的一段隐秘,那就是神雕侠侣中的郭襄其实是黄药师的亲生女儿,没错,你们没有看错,接下来我会公布这件事情的来龙去脉。而看过神雕侠侣的都知道,郭襄和郭破虏虽然表面上是双胞胎兄妹,可是两人无论是性格还是样貌都截然不同,而这段隐秘,黄药师还临死之前才对郭襄说出来,这也是导致郭襄女侠遁入空门的原因之一。

    • 大蒜水的做法(大蒜水怎么做)

      接下来我们就一起去研究一下吧!大蒜水的做法首先准备一个碗,稍后要放到锅里蒸的。将碗放锅里蒸,时间8分钟。出锅后就可以给孩子喝了,最好把蒜头也吃掉。

    • 蛋炒虾仁的做法(家常蛋炒虾仁的做法)

      下面内容希望能帮助到你,我们来一起看看吧!蛋炒虾仁的做法原料:鸡蛋、虾仁、虾仁菜脯。鸡蛋打匀加盐,虾仁菜脯准备好。下油,先炒虾仁,会出水,尽量沥干再炒。小火,倒入打好的鸡蛋,等鸡蛋稍微凝固翻炒鸡蛋,加入虾仁菜脯,等鸡蛋完全凝固,起锅。加虾仁菜脯会更香,也可以换成韭黄,味道都很好。菜脯不能泡太久会没了味道,最后才加入一起炒可以保留味道。

    • 酵素真能减肥吗对身体有伤害吗(食用酵素真的可以减肥吗)

      大多数酶类自身就是一种蛋白质的成分,食用到机体之后,胃当中的会分泌大量的胃蛋白酶成分,从而把酵素当中的蛋白质给消化掉,而其中一大部分的蛋白质,会因为多种因素的影响,并不没有发挥它的真正作用,甚至是失去它的活性。根据相关的调查资料显示,在食物自己发酵之后,也就是没有添加可以发酵的微生物,这样制作出来的酵素,其中的蛋白质含量,在一般的情况下,都是小于0.02%。