什么是CPU利用率,是说CPU有多忙吗?许多监控工具中经常只能看见这一项 “%CPU”——用百分比的形式显示CPU利用率,其实这种测量方法会带来很大的误解。
当CPU利用率达到90%的时候意味着什么呢?这样吗?
其实可能是这样:
停顿_Stalled意味着CPU没有进一步的运行指令,这种情况一般是等待内存I/O响应。上文提到了Busy和stalled之间的比例在生产环境中非常普遍,也就是说大部分时间CPU都是不干活儿的,但是用户不知道。
了解这些对用户来说有什么用呢?了解CPU空闲的原因可以让性能发挥价值,所有关注CPU性能的人都应该有所了解,尤其是有大量服务器的做云计算的服务商。
真实的CPU利用率是怎样的?
CPU占用实际上是“非空闲时间”_ non-idle:指的是CPU没有运行空闲线程的时间。所有操作系统内核_无论是什么都会一直跟踪记录这些数据,一个线程开始运行100毫秒之后停止运行,而内核会认为CPU占用了整个时间。
这种测量方法非常古老了。但也有工程师跟踪运行周期与实际任务时间来统计工作时间。
那么问题出在哪儿呢?
如今CPU速度远远超越了内存了,内存在一定程度上影响了CPU的利用率。当你看到“%CPU”显示的数值比较高的时候,散热量飚起来了,风扇狂转,可能就会觉得CPU的瓶颈到了,其实真正的瓶颈在DRAM内存。
多年发展下来,这种情况愈演愈烈。CPU厂商在拼命加速时钟频率,DRAM的进展就比较慢了,使得两者之间的差距越来越大。
2005年的时候,处理器的频率达到了3 GHz,此后处理器的世界开启了多核和多线程技术征程,这对内存提出了更高压力。为了缓解内存的压力,CPU厂商开始做更大更智能的高速缓存,内存总线,通过互连来减少内存瓶颈。但还是有很多问题。
如何查看CPU正在做什么?
通过PMC_性能监控计数器,用户可以使用Linux perf和其他工具读取硬件的性能信息,下图对整个系统进行了10秒测试:
这里有个关键参数是IPC_每个周期的指令,它统计平均每个CPU时钟周期执行了多少条指令,数值越高越好。上文提到的例子中CPU占用达到78%,处理器IPC是4.0,这意味着,CPU可以在每个时钟周期中完成四个指令。78%/4=19.5%,算下来CPU最高占用率为19.5%。
如果在虚拟化环境的话可能就看不了PMC了,当然这就看hypervisor是否支持这一项了。基于Xen的AWS EC2就可以支持这一项。
补充解释和可行办法
如果你的IPC <1.0,瓶颈很可能在内存,你可以软件调优减少内存I/O工作量,硬件方面可以加大CPU缓存和内存。
如果你的IPC> 1.0,那可能是指令绑定。寻找减少代码执行的方法,减少不必要的工作。
在上面几条规则的指引下,我测出了IPC 1.0.我是怎么做到的呢?我之前做过有关PMC的工作,我是这么做的:写两个虚拟工作负载,一个是CPU绑定的,一个是内存绑定的,分别测量它们的IPC,然后计算一个中间值。
应该从性能监控产品中看到哪些信息?
几乎所有的性能监控工具都会显示IPC和%CPU。如下图所示:
除了上述CPU和内存之间差距造成的原因以外,还有很多原因,比如:
温度安全控制也会影响处理器性能;
Turboboost超频改变了处理器时钟速率;
内核的速度以固定的步长增长;
CPU利用率很高,IPC也很高,但是运行的程序似乎没有获得显著的性能提升;
了解利用率真相之后的实际意义
CPU利用率是被严重误解的参数,读者可以按照IPC来弄清楚CPU的真正含义。 IPC <1.0可能意味着内存绑定,IPC> 1.0可能意味着指令绑定。
性能监视工具显示CPU利用率的时候还应该同时显示PMC的数据来说明到底是什么意思,以防误导用户。此外,还可以注明指令退出循环与停顿循环等信息。通过这些指标,开发商和运营商可以选择如何更好地调整其应用程序和系统。
预告:
由DOIT/Dostor联合中国计算机学会存储专委会联合举办的第四届中国闪存峰会,今年6月举行,会议现在已经开放注册_http://cff.dostor.com/index_app.html。本次峰会将从NAND颗粒制造、闪存控制器、SSD、NVMe、全闪存阵列、分布式闪存存储、软件定义存储、超融合、数据库、大数据应用多个角度,探讨闪存技术和应用,欢迎各界人士莅临。
快速阅读
|首次!微软中国公布Azure业绩
| 英特尔缘何停办近20年的饕餮盛宴IDF
|2017年云商业智能主流路线不可不知
|为何IBM说自己践行的是“商业人工智能”
|2017华为全球分析师大会,徐直军这么说
|六度人和CEO张星亮: 不是所有SaaS都要流程化
|【重磅】EMC叶成辉离职,转任神码控股CEO
|【CEBIT 2017】华为企业业务要每两年翻一番?
|DOIT与数十位CXO走进京东总部,探讨了哪些热门话题
| 易会公司获得高新技术企业认证
| 戴尔和Nutanix互怼,HPE、NetApp和思科加紧追赶,超融合开启超竞争模式
| 紫光2600亿半导体项目落户南京 700亿美元完成全国布局
| 一大波国家信息化政策纷至沓来!看着就提气儿
| 跨年重磅:2016年度存储风云榜!
关于DOIT
DOIT是中国领先的科技新媒体,始于2003年,关注科技与数据经济,洞察IT走向DT。