LINUX uptime命令解读

每当系统变慢时,我们做的第一件事就是执行top或uptime,来了解下负载情况。
如下:

这里每一列输出的含义是什么呢?

19:40:29  //当前时间

up 3 days, 7:32 //系统运行时间

3 user //正在登录用户数

最后三个数呢?依次是 1分钟,5分钟,15分钟的平均负载(load average)

什么是平均负载呢?

简单来说,平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和CPU使用率并没有直接关系。

最理想的平均活跃进程数是什么?

就是刚好每个CPU上都刚好运行着一个进程,这样每个CPU都得到了充分的利用。比如平均负载为4时意味着什么呢?

  • 在只有4个CPU的系统上,意味着所有的CPU都刚好被完全占用。
  • 在8个CPU的系统上,意味着CPU有50%的空闲。
  • 而在有2个CPU系统上,意味着有一半的进程竞争不到CPU。

平均负载为多少时合理?

平均负载比CPU个数大的时候,系统就已经出现了过载。

  • 如果1分钟,5分钟,15分钟的三个值基本相同,或者相差不大,那就说明系统负载很平稳。
  • 如果1分钟的值远小于15分钟的值,就说明系统最近1分钟负载在减少,而过去15分钟内却有很大负载。
  • 反之则相反,如果1分钟的值远大于15分钟的值,说明近1分钟负载在增加,这种情况可能是临时性的,也可能还会持续,要持续观察,一旦1分钟的平均负载超过了CPU的数量,意味着系统正在发生过载的问题。

例如:一个单核系统上,平均负载为1.78,0.60,6.56,说明1分钟内,系统有78%的超载,而在15分钟内有556%的超载。

实际生产中,平均负载多高时需要关注呢?

平均负载高于CPU数量70%时,就应该分析排查负载高问题了。(不绝对)

平均负载与CPU使用率

  • CPU密集型进程,使用大量CPU会导致平均负载升高,此时两者时一致的。
  • I/O密集型进程,等待I/O也会导致平均负载升高,但CPU使用率不一定很高。
  • 大量等待CPU的进程调度也会导致平均负载升高,此时的CPU使用率也会比较高。

你可能感兴趣的:(性能测试,性能监控,linux指令)