zoukankan      html  css  js  c++  java
  • 平均负载

    什么是平均负载

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

    可运行状态的进程

    指正在使用 CPU 或者正在等待 CPU 的进程数。也就是说我们常用 ps aux 命令看到的,处于 R 状态 (Running 或 Runnable)的进程。

    不可中断状态的进程

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

    平均负载为多少时合理

    平均负载最理想的情况是等于 CPU 个数,所以在评价平均负载时,首先需要知道系统有几个CPU。有了 CPU 个数,我们就可以判断出,当平均负载比 CPU 个数还大的时候,系统已经出现了过载。

    实际环境中,当平均负载高于 CPU 数量 70% 的时候,就应该分析排查负载高的问题了。一旦负载过高,就可能导致进程响应变慢,进而影响服务的正常功能。

    平均负载与 CPU 使用率

    平均负载时指单位时间内,处于可运行状态和不可中断状态的进程数。所以,它不仅包括了‘正在使用 CPU的进程,还包括等待 CPU等待 I/O的进程。

    而 CPU 使用率,是单位时间内 CPU 繁忙情况的统计,跟平均负载并不一定完全对应。

    例如:

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

    分析平均负载使用的命令

    1. uptime

    当发现系统变慢时可以通过uptime命令来了解系统的负载情况。

    $ uptime
    02:34:03 up 2 days, 20:14, 1 user, load average: 0.63, 0.83, 0.88
    

    uptime 命令每列含义

    02:34:03    // 当前时间
    up 2 days, 20:14    // 系统运行时间
    1 user  // 正在登陆用户数
    0.63    // 1分钟平均负载
    0.83    // 5分钟平均负载
    0.88    // 5分钟平均负载
    
    • 如果1分钟,5分钟,15分钟的三个值基本相同,或者相差不大,那就说明系统负载很平稳。
    • 如果1分钟的值远大于15分钟的值,就说明最近1分钟的负载在增加,这种增加可能是临时性的,也有可能是持续性的,需要持续观察。一旦1分钟的平均负载接近或超过了CPU的个数,就意味着系统正在发生过载的问题。

    2. mpstat

    mpstat是一个常用的多核 CPU 性能分析工具,用来实时查看每个 CPU 的性能指标,以及所有 CPU 的平均指标。

    • 当遇到 CPU 密集型进程的时候,%usr 的数值会逐渐升高,而 %iowait 的数值不会增加。
    • 而遇到 I/O 密集型进程的时候, %iowait 的数值会快速上升,而 %user 的数值增加则不多。

    3. pidstat

    pidstat 是一个常用的进程性能分析工具,用来实时查看进程的 CPU,内存,I/O 以及上下文切换等性能指标。

  • 相关阅读:
    【解决方案】智能汽车制造车间通过EasyNVR实现无插件视频监控直播方案
    EasyNVR拉流成功后快照正常但实际不能播放解决方法
    EasyNVR现场设备离线后无法自动重连如何优化?
    TSINGSEE青犀视频优化EasyNVR快照保存机制实现过程
    EasyNVR中如何对kernel内核的异常关闭状态做监测?
    EasyNVR帐号密码无法正常登入系统界面问题排查
    EasyNVR使用HLS格式播放视频一段时间后自动停止的问题排查
    EasyNVR使用Mysql数据库无法启动该怎么处理?
    EasyNVR直播录像呈现片段式显示与什么有关?
    EasyNVR配置表单上传demo说明
  • 原文地址:https://www.cnblogs.com/leisurelylicht/p/ping-jun-fu-zai.html
Copyright © 2011-2022 走看看