CPU利用率,是对一个时间段内CPU使用状况的统计,通过这个指标可以看出在某一个时间段内CPU被占用的情况,如果CPU被占用时间很高,那么就需要考虑CPU是否已经处于超负荷运作,长期超负荷运作对于机器本身来说是一种损害,因此必须将CPU的利用率控制在一定的比例下,以保证机器的正常运作。

Load Average是 CPU的Load,它所包含的信息不是CPU的使用率状况,而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息。

那么CPU利用率与Load Average对于性能测试的意义有什么区别呢?实际上,CPU利用率反映的是CPU被使用的情况,当CPU长期处于被使用而没有得到足够的时间休息间歇,那么对于CPU硬件来说是一种超负荷的运作,需要调整使用频度。而Load Average却从另一个角度来展现对于CPU使用状态的描述,Load Average越高说明对于CPU资源的竞争越激烈,CPU资源比较短缺。对于资源的申请和维护其实也是需要很大的成本,所以在这种高Average Load的情况下CPU资源的长期“热竞争”也是对于硬件的一种损害。

番外篇

对于定义和解释,感觉淘测试上的更容易理解:

引用如下:

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

Linux 突然很占cpu load average 很高!!!

1、先使用top看下CPU占用高的进程,找出进程的进程ID(pid);
查看方法:top
2、根据进程ID(pid)查看是进程的那些线程占用CPU高。
查看方法:top -Hp pid
3、使用pstack,查看CPU占用高的线程在干什么。
查看方法:pstack pid
4、根据pstack分析,应该可以看出问题所在。

CPU利用率与Load Average的区别?的更多相关文章

  1. CPU核数和load average的关系

    在前面的文章<Linux系统监控——top命令>中我简单提到了,判断load average的数值到底大不大的判断依据,就是数值除以CPU核数,大于5,就说明超负荷运转了.——这里其实不太 ...

  2. CPU使用率和Load Average的关系

    看了几篇博客总结的区别,自己终于明白了含义,在这里将理解总结一下: 对于定义和解释,感觉淘测试上的更容易理解: 引用如下: CPU使用率:  一段时间内CPU的使用状况,从这个指标可以看出某一段时间内 ...

  3. 压力测试衡量CPU的三个指标:CPU Utilization、Load Average和Context Switch Rate

    分类: 4.软件设计/架构/测试 2010-01-12 19:58 34241人阅读 评论(4) 收藏 举报 测试loadrunnerlinux服务器firebugthread 上篇讲如何用LoadR ...

  4. CPU平均负载 load average

    平均负载是指上一分钟同时处于就绪状态的平均进程数.在CPU中可以理解为CPU可以并行处理的任务数量,就是CPU个数X核数.如果CPU Load等于CPU个数乘以核数,那么就说CPU正好满负载,再多一点 ...

  5. cpu利用率和cpu 队列

    SIP的第四期结束了,因为控制策略的丰富,早先的的压力测试结果已经无法反映在高并发和高压力下SIP的运行状况,因此需要重新作压力测试.跟在测试人员后面做了快一周的压力测试,压力测试的报告也正式出炉,本 ...

  6. 理解Load Average做好压力测试

    http://www.blogjava.net/cenwenchu/archive/2008/06/30/211712.html CPU时间片 为了提高程序执行效率,大家在很多应用中都采用了多线程模式 ...

  7. 【转】top命令输出解释以及load average 详解及排查思路

    https://blog.csdn.net/zhangchenglikecc/article/details/52103737 昨天nagios报警warning,没来得及留下报警截图,nagios值 ...

  8. 理解Load Average做好压力测试(转)

    转载自:http://www.blogjava.net/cenwenchu/archive/2008/06/30/211712.html SIP的第四期结束了,因为控制策略的丰富,早先的的压力测试结果 ...

  9. top命令输出解释以及load average 详解及排查思路

    原地址: https://blog.csdn.net/zhangchenglikecc/article/details/52103737 1.top输出以及load average 详解 昨天nagi ...

随机推荐

  1. JAVA EE 项目常用知识 之AJAX技术实现select下拉列表联动的两种用法(让你真正理解ajax)

    ajax 下拉列表联动的用法. ajax的定义: AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的 ...

  2. Atom | 编辑器Atom的使用小结

    文章目录 windows环境下 Atom工具使用apm Packages 推荐阅读 常用快捷键 windows环境下 Atom工具使用apm 在 Atom 的安装路径下找到 apm ,复制路径: 将该 ...

  3. 最快的csv文件入到数据库的方法

    最快的csv文件入到数据库的方法:EXEC master.sys.sp_configure 'show advanced options', 1 ; RECONFIGURE ; EXEC master ...

  4. 使用Git代替FTP进行虚拟主机的代码管理

    为什么要使用Git代替FTP的原因: 由于本人菜鸟+穷屌,玩不起VPS和其他大牌的云主机,所以呢就只能在景安(这不是广告..)申请了免费的虚拟主机,就想着自己玩玩而已,免费的嘛,空间流量什么的就不讨论 ...

  5. 【js】js截取字符串 +转化字符串为数字

    js有两种方法可以截取字符串 substr(start , length ])和substring(start, end) parseInt('123') : 返回 123

  6. iOS 在某一个ViewController跳转到TabViewController中的某一个ViewController

    要做到这个分为两步 第一步, 导入app #import "AppDelegate.h" 第二步, 监听方法中先写加入以下代码: [self dismissViewControll ...

  7. 小程序把图片转换成base64

    1.首先需要到upng.js,然后upng.js需要pako.js,先一并下载了 2.然后就可以直接用了,具体代码如下: <!--pages/base/base.wxml--> <c ...

  8. 万里长征第二步——django个人博客(第六步 ——添加富文本编辑器)

    下载kindeditor 在admin.py文件中配置链接 class Media: js = ( '/static/js/kindeditor-4.1.10/kindeditor-min.js', ...

  9. [转] SQL SERVER拼接字符串(字符串中有变量)

    本文转自:http://blog.csdn.net/sikaiyuan2008/article/details/7848926 SQL SERVER拼接字符串(字符串中有变量)对我来说是一个难点,总是 ...

  10. iOS:多线程同步加锁的简单介绍

    多线程同步加锁主要方式有3种:NSLock(普通锁).NSCondition(状态锁).synchronized同步代码块 还有少用的NSRecursiveLock(递归锁).NSConditionL ...