zoukankan      html  css  js  c++  java
  • LINUX下CPU Load Average的一点研究

    背景:

    公司的某个系统工作在基于Linux的Cent OS下,一个host下同时连接了许多client, 最近某台Host总是显示CPU Load Average过高,我们单纯的以为是CPU的占用过高,其实没这么简单,于是老板让我趁这个机会研究一下CPU Load Average,最近刚好想开学习LINUX的文章,就把这个当成一个起点吧。

    Load Average(平均负载)基本概念:

    • Load 指的是运行队列(run-queue)的长度:L = 等待进程的数目 + 运行进程的数目
    • Load Average指的是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息。
    • Load Average反映了CPU的使用情况和申请情况.

    Load Average(平均负载)和CPU占用率的区别:

    • Load Average所包含的信息不是CPU的使用率状
    • 多任务环境下,系统分配时间片以后,是否使用完全使用时间片取决于进程,因此完全可能出现低CPU利用率而高Load Average的情况

    Load Average的计算:

    • 在多处理器系统中,负载阀值是基于内核的数量决定的。以 100% 负载计算,1.00 表示单个处理器,而 2.00 则说明有两个双处理器,那么 4.00 就说明主机具有四个处理器。超过这个阀值就表示系统过载了
    • Load Average的实时计算公式:
      • load(t) = load(t-1) e^(-5/60) + n (1 - e^(-5/60)),迭代计算,其中n为run-queue的长度

    Linux下通过top或者uptime命令可以查看系统的Load Average,它显示的是系统在1分钟,5分钟,15分钟之内的Load Average值

    • 1分钟的平均值通常表示峰值,应该着眼于5分钟或者15分钟的平均数值
    • 远程连接到一台LINUX上通过top命令查询系统的平均负载:
    • 远程连接到一台LINUX上通过uptime命令查询系统的平均负载:

    本文参考文章:

    参考文章里的三篇文章写得都非常好,如果你想了解更多一点,请一定深入拜读

  • 相关阅读:
    light oj 1105 规律
    light oj 1071 dp(吃金币升级版)
    light oj 1084 线性dp
    light oj 1079 01背包
    light oj 1068 数位dp
    light oj 1219 树上贪心
    light oj 1057 状压dp TSP
    light oj 1037 状压dp
    矩阵快速幂3 k*n铺方格
    矩阵快速幂2 3*n铺方格
  • 原文地址:https://www.cnblogs.com/amsun/p/3155246.html
Copyright © 2011-2022 走看看