zoukankan      html  css  js  c++  java
  • 全方位解读"CPU load average"

    前一段时间,有同事因为“CPU负载到达5算不算高”的问题争论了一番,看似简单的一个问题表明了我们并没有真正理解服务器的CPU负载。

    如果你的线上服务出现性能问题,那么检查机器的CPU负载情况是必不可少的一个环节。

    我们通过简单执行uptime命令就可以知道服务器当前的CPU负载情况。

    现在我们来看一个简单的例子,

    load average:  1.14, 0.7, 4.06
    

    上面的load average从左到右显示的分别是最近1分钟,5分钟,15分钟的CPU负载情况。

    接下来是非常关键的一点,当前的CPU负载高还是不高,只看上面的数据是不行的,还要看服务器有多少个CPU

    假设当前服务器只有一个CPU,那么上面的"load average"就告诉我们在最近一分钟内,平均有0.14个进程在等待CPU;最近五分钟内,CPU有30%的idle时间;而最近15分钟,平均有3.06个进程在等待CPU。而当服务器有4个CPU的时候,则是另外一番景象。

    因此,在讨论CPU负载高还是不高的时候,你必须知道服务器的CPU数量,就像上面的例子一样,如果是只有一个CPU的服务器,那么它的CPU显然已经过载了,但是对于有个8个CPU的服务器来说还不是问题。

    另外,通过"load average"中的三个数字,我们还可以了解到当前服务器的负载的变化趋势,如果1分钟的CPU负载 > 5分钟的CPU负载,说明服务器目前处在CPU负载高峰期;而如果1分钟的CPU负载 < 5分钟的CPU负载,则说明服务器的CPU负载高峰期刚刚过去了,如果是你处理了什么性能问题,则表明该处理已经显现成效了。

  • 相关阅读:
    回归测试
    系统测试
    单元测试
    软件测试规律之木桶原理
    集成测试
    软件测试度量
    测试用例设计方法之错误推测法
    测试用例设计方法之因果图方法
    有趣的算法:1元=1分
    【转】 arcServer 一些 FAQ
  • 原文地址:https://www.cnblogs.com/kaiblog/p/5720161.html
Copyright © 2011-2022 走看看