CPU使用率(CPU utilization)直观显现了运转程序占用的CPU资源,使用率越高,阐明你的机器在这个时间上运转了许多程序,一般情况下,CPU占了100%的话咱们的电脑就会显着慢下来。
但你知道吗?咱们用来衡量CPU使用率的这一目标具有极大的误导性,并且一年比一年来得误人子弟。
Brendan Gregg是Netflix的高档功能架构师,他在那里做大规划计算机功能规划、剖析和调优。他是《Systems Performance》等技能书的作者,曾获得过2013年USENIX LISA大奖。
5月9日,他在个人博客宣布了一篇《CPU Utilization is Wrong(CPU使用率是过错的)》博文,指出CPU使用率已成为一个极具误导性的衡量目标。
你或许以为90%的CPU使用率意味着:
而实际上它或许意味着:
阻滞(stalled)意味着处理器在处理指令方面处于阻滞状况,通常是因为处理器在等候内存输入/输出,这在现实生活生产中时间存在,但大多数人浑然不知。
Brendan Gregg表明,现如今,CPU的速度已变得比主内存快得多,假如你看到数值很高的%CPU,或许以为处理器是瓶颈,而实际上那些DRAM模组才是瓶颈。
了解你的多少CPU处于阻滞状况能够辅导削减代码或削减内存输入/输出之间的功能调优作业。谁要是在重视CPU功能,尤其是在依据CPU主动扩展资源的云,假如知道%CPU中阻滞的部分,那将大有益处。
当然,Brendan Gregg是从开发人员视点论述的,关于一般顾客,CPU使用率依然是个简略好用的功能展现东西。