• 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命令查询系统的平均负载:

    本文参考文章:

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

  • 相关阅读:
    寒假学习报告05
    寒假学习报告04
    微信推送信息,支付宝支付接口
    Vue组件生成依赖文件,contentype
    redis之列表字典操作
    drf版本控制redis基础
    drf分页器,url控制器,解析器,响应器
    drf认证权限频率
    drf视图认证组件
    drf序列化组件
  • 原文地址:https://www.cnblogs.com/amsun/p/3155246.html
Copyright © 2020-2023  润新知