zoukankan      html  css  js  c++  java
  • Linux系统负载

    怎么分析理解 uptime 以及top 中的cpu  Load Average

     最后三个数字依次表是过去 1 分钟、5 分钟、15 分钟的平均负载(Load Average)

     Load Average:什么意思呢??---->是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系

      不可中断状态的进程则是正处于内核态关键流程中的进程,并且这些流程是不可打断的,比如最常见的是等待硬件设备的 I/O 响应,也就是我们在 ps 命令中看到的 D 状态(Uninterruptible Sleep,也称为 Disk Sleep)的进程

    平均活跃进程数:如果每个 CPU 上都刚好运行着一个进程,这样每个 CPU 都得到了充分利用,

    那是不是平局负载为1 表示cpu刚好满足呢??答案是:要考虑多核cpu----------

    比如当平均负载为 2 时,

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

    系统负荷的经验法则

    1.0是系统负荷的理想值吗?不一定,系统管理员往往会留一点余地,一般临界值为0.7

    当系统负荷持续大于0.7,你必须开始调查了,问题出在哪里,防止情况恶化。

    当系统负荷持续大于1.0,你必须动手寻找解决办法,把这个值降下来。

    当系统负荷达到5.0,就表明你的系统有很严重的问题,长时间没有响应,或者接近死机了。不应该让系统达到这个值

    平均负载与 CPU 使用率

    平均负载代表的是活跃进程数,那平均负载高了,是不是意味着 CPU 利用率飙高???

    CPU 密集型进程,使用大量 CPU 会导致平均负载升高,CPU使用率会飙高;

    I/O 密集型进程,等待 I/O 也会导致平均负载升高,但 CPU 使用率不一定很高;

    大量等待 CPU 的进程调度也会导致平均负载升高,此时的 CPU 使用率也会比较高。

    此时排查工具一般都会使用pidstat 等

       参考:https://scoutapm.com/blog/understanding-load-averages

  • 相关阅读:
    python模块总结(一)命令行解析模块argparse
    TCP(一)三次握手和四次挥手
    容器网络(四)vxlan
    容器网络(三)容器间通信
    kvm虚拟化(二)网络虚拟化
    KVM虚拟化(一)创建虚拟机
    数字操作 —— 9_ 回文数
    数字操作 —— 8_字符串转换整数(atoi)
    数字操作 —— 7_整数反转
    字符串操作 —— 763_划分字母区间
  • 原文地址:https://www.cnblogs.com/codestack/p/13580431.html
Copyright © 2011-2022 走看看