zoukankan      html  css  js  c++  java
  • 【linux】linux命令--uptime查看机器存活多久和平均负载 解读平均负载含义

    一.uptime命令,查看机器存活时间和平均负载

    键入命令:

    uptime

     该结果和 top命令查看结果最上面一行的 是一样的显示。

     返回数据介绍:

    #当前服务器时间:    19:56:44
    #当前服务器运行时长  up 22 days,  8:54
    #当前用户数          10 users
    #当前的负载均衡      load average: 0.07, 0.11, 0.11,分别取最近1分钟,5分钟,15分钟的平均负载

    二.查看平均负载和【正在运行进程数量/总进程数量】

    键入命令:

    cat /proc/loadavg

     返回的数据介绍:

    前3个数字表示平均进程数量外,后面的1个分数,分母表示系统进程总数,分子表示正在运行的进程数;最后一个数字表示最近运行的进程ID

    三.平均负载、可运行状态的进程、不可中断状态的进程

    到这里,理解一个概念 【平均负载】/【平均进程数量】

    1.平均负载

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

    2.可运行状态的进程

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

    3.不可中断状态的进程

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

    四.解读

    参考地址:https://www.cnblogs.com/rexcheny/p/9382396.html

      

      一段时间内处于可运行状态和不可中断状态的进程平均数量。(可运行分为正在运行进程和正在等待CPU的进程,状态为R;不可中断则是它正在做某些工作不能被中断比如等待磁盘IO等,其状态为D),它是从另外一个角度体现CPU的使用状态。


        当平均负载高于 CPU 核心数量 70% 的时候,你就应该分析排查负载高的问题了。一旦负载过高,就可能导致进程响应变慢,进而影响服务的正常功能。但 70% 这个数字并不是绝对的,最推荐的方法,还是把系统的平均负载监控起来,然后根据更多的历史数据,判断负载的变化趋势。当发现负载有明显升高趋势时,比如说负载翻倍了,你再去做分析和调查。

      

      对于有多核心CPU的系统来说最大LOAD是最大的核心数量,你的LOAD不应该超过最大核心数量。2CPU、每个CPU有6个物理核心、算上超线程最终的逻辑CPU个数是24个。

      

    五.平均负载 ≠ CPU使用率

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

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

    比如:

      CPU 密集型进程,使用大量 CPU 会导致平均负载升高,此时这两者是一致的。

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

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

    平均负载提供了一个快速查看系统整体性能的手段,反映了整体的负载情况。但只看平均负载本身,我们并不能直接发现,到底是哪里出现了瓶颈。所以,在理解平均负载时,也要注意:

    平均负载高有可能是 CPU 密集型进程导致的;

    平均负载高并不一定代表 CPU 使用率高,还有可能是 I/O 更繁忙了;

    六.平均负载过高的排查手段

      当发现负载高的时候,你可以使用 mpstat、pidstat 等工具,辅助分析负载的来源。

  • 相关阅读:
    [codevs]线段树练习5
    【Java学习笔记之十六】浅谈Java中的继承与多态
    【Java学习笔记之十五】Java中的static关键字解析
    【Java学习笔记之十四】Java中this用法小节
    【Java学习笔记之十三】初探Java面向对象的过程及代码实现
    【Java学习笔记之十二】Java8增强的工具类:Arrays的用法整理总结
    hdu2896 AC自动机
    hdu2222 AC自动机
    字符串匹配--AC自动机模板
    字符串匹配--(K)MP模板
  • 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/11845327.html
Copyright © 2011-2022 走看看