看了几篇博客总结的区别,自己终于明白了含义,在这里将理解总结一下:
对于定义和解释,感觉淘测试上的更容易理解:
引用如下:
CPU使用率: 一段时间内CPU的使用状况,从这个指标可以看出某一段时间内CPU资源被占用的情况。
(http://www.taobaotest.com/blogs/2507)
Load Average:系统平均负载,在特定时间间隔内运行队列中的平均进程数。
http://blog.csdn.net/hello_yang213/article/details/7455480 (介绍的更详细一些,)
某一段时间内,CPU正在处理以及等待CPU处理的进程数的之和。
Load Average是从另一个角度来体现CPU的使用状态的。
(http://www.blogjava.net/cenwenchu/archive/2008/06/30/211712.html 这边说两者的区别,有人觉得专业,有人觉得赞,个人看了有点复杂,容易绕晕,可以几篇一起看就容易理解了。)
引 http://www.taobaotest.com/blogs/2507
CPU使用率和Load Average的关系:
拿去医院体检做一个例子:
用户:待检查的同学
CPU:检查的科室(B超、眼科。。。。)
1、 Load 高,CPU使用率低 :
眼科一共有3个医生,检查有次序,必须前一个医生检查结束了才能到下一个医生处理
由于第一个医生的检查耗时比较长,导致后面很多同学排队,但是接下去2个医生都处于空闲状态。
Load:等待的同学,由于等待的同学较多,所以Load的值较高
CPU使用率:只有一个医生处于工作状态,所以CPU的使用率为33.33%
2、 Load低,CPU使用率高:
假设B超科室有和眼科同样多的医生,但是每个医生之间的工作是独立的。
来一个新同学的时间,大约是检查完一个同学的时间。
Load:等待的同学,基本<=1
CPU使用率:每个医生都处于忙碌状态,CPU使用率接近100%
个人觉得这个例子举的比较好理解,CPU就像科室(含多个 医生),如果里面只有1个医生看病,另外2个闲着,CPU利用率是33.3%,然后外面很多排队等待使用CPU的人,这些就是排队的进程了,他们都是竞争 想要使用CPU,排队等待的人多,就是说明CPU的竞争比较激烈,就是系统平均负载Load Average。所以,cpu被占用了,利用率可能不高的,但是排队等待使用的进程很多,Load却高。所以,测试的时候,不能只看CPU利用率,也要看 系统平均负载Load Average。
关于系统平均负载Load Average 的计算,可以参考这篇文章 :http://blog.csdn.net/hello_yang213/article/details/7455480