每次我们系统变慢时,我们通常做的第一件事就是top命令或者uptime命令,看一下系统的负载情况,比如下面:

我在命令行中输入uptime

22:15:51    表示当前系统时间

up 13 min  系统运行总时间

2 users      当前正在登陆 用户数

load average :0.12,0.06,0.05  表示系统1分钟,5分钟,15分钟系统的平均负载情况

   平均负载是什么?

平均负载:指单位时间内,系统处于可运行状态不可中断状态的平均进程数,可以理解为平均活跃进程数。它和cpu 的使用率并没有直接的关系

可运行状态是指正在使用cpu或者等待cpu的进程,也就是ps命令查看进程状态为R(Running或Runnable)的进程

 不可中断状态指正处于内核态关键流程中的进程,并且这些流程是不可打断的, 如最常见的是等待硬件设备的 I/O 响应

也就是ps命令查看进程状态为D(Uninterruptible Sleep,也称为 Disk)的进程

比如,当一个进程向磁盘读写数据时,为了保证数据的一致性,在得到磁盘回复前,它是不能被其他进程或者中断打断的,

这个时候的进程就处于不可中断状态。如果此时的进程被打断了,就容易出现磁盘数据与进程数据不一致的问题。

     平均负载多少时合理?

执行以下命令查看cpu 的逻辑个数

   grep 'model name' /proc/cpuinfo | wc -l

如:

平均负载是平均进程数,由此可见,平均负载等于cpu 的个数时为最理想状态,说明cpu充分被利用了,

当平均负载大于cpu个数时说明系统已经出现了过载。

我们要通过平均负载的三个数值来观察系统负载情况趋势,这里我再举个例子,假设我们在一个单 CPU 系统上看到平均负载为

1.73,0.60,7.98,那么说明在过去 1 分钟内,系统有 73% 的超载,而在 15 分钟内,有 698% 的超载,从整体趋势来看,系统

的负载在降低。

个人认为平均负载超过cpu数量70%时,就应该分析排查负载过高的问题,一旦负载过高,就可能导致系统响应变慢,影响服务正常

运行。

平均负载和cpu使用率的关系

  • cpu密集型进程,使用大量cpu会导致平均负载升高,此时两者是一样的。
  • IO密集型进程,等待IO也会导致平均负载升高,但cpu使用率不一定高。
  • 大量等待cpu 的进程调度也会导致平均负载升高,此时cpu使用率也会升高

平均负载案例分析

首先安装 stress 和 sysstat 两个工具包

stress 是linux 系统压力测试工具,这里我们用作异常进程模拟平均负载升高的场景。

sysstat  包含了常用的linux性能工具,用来监控和分析系统的性能,如mpstat何pidstat

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

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

cpu密集型进程:

linux性能优化cpu-02平均负载的更多相关文章

  1. Linux性能调优 | 01 平均负载的理解和分析

    01 uptime命令 通常我们发现系统变慢时,我们都会执行top或者uptime命令,来查看当前系统的负载情况,比如像下面,我执行了uptime,系统返回的了结果. [root@lincoding ...

  2. linux性能优化cpu 磁盘IO MEM

    系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上 ...

  3. Linux性能优化--CPU[备忘]

    http://kumu-linux.github.io/blog/2014/04/21/performance-cpu/

  4. Linux性能优化-平均负载

    Linux性能优化-平均负载 目录 Linux性能优化-平均负载 平均负载的含义 平均负载为多少时合理 平均负载与 CPU 使用率 平均负载案例分析 场景一:CPU 密集型进程 场景二:I/O 密集型 ...

  5. 《Linux 性能优化实战—倪朋飞 》学习笔记 CPU 篇

    平均负载 指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,即平均活跃进程数 可运行状态:正在使用CPU或者正在等待CPU 的进程,也就是我们常用 ps 命令看到的,处于 R 状态 (Run ...

  6. Linux 性能优化排查工具

    下图1为 Linux 性能优化排查工具的总结 图1 诊断 CPU 工具 查看 CPU 核数 总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU ...

  7. Linux 性能优化之 IO 子系统 系列 图

    http://blog.sina.com.cn/s/articlelist_1029388674_11_1.html Linux 性能优化之 IO 子系统(一) 本文介绍了对 Linux IO 子系统 ...

  8. linux性能监控 -CPU、Memory、IO、Network等指标的讲解

    [操作系统-linux]linux性能监控 -CPU.Memory.IO.Network等指标的讲解(转) 一.CPU 1.良好状态指标 CPU利用率:User Time <= 70%,Syst ...

  9. Linux性能优化从入门到实战:01 Linux性能优化学习路线

      我通过阅读各种相关书籍,从操作系统原理.到 Linux内核,再到硬件驱动程序等等.   把观察到的性能问题跟系统原理关联起来,特别是把系统从应用程序.库函数.系统调用.再到内核和硬件等不同的层级贯 ...

  10. 如何学习Linux性能优化?

    如何学习Linux性能优化? 你是否也曾跟我一样,看了很多书.学了很多 Linux 性能工具,但在面对 Linux 性能问题时,还是束手无策?实际上,性能分析和优化始终是大多数软件工程师的一个痛点.但 ...

随机推荐

  1. Killer Problem(暴力)

    题意: 给定一个序列,每次询问l到r之间两个数差的绝对值的最小值. 分析: 开始以为是线段树离线处理,实际暴力就好! #include <map> #include <set> ...

  2. POJ2208 Pyramids 四面体体积

    POJ2208给定四面体六条棱(有序)的长度 求体积 显然用高中立体几何的方法就可以解决. 给出代码 #include<iostream> #include<cstdio> # ...

  3. 洛谷P1297 单选错位——期望

    题目:https://www.luogu.org/problemnew/show/P1297 读懂题后就变得很简单啦: 对于一个问题和它的下一个问题,我们考虑: 设上一个问题有 a 个选项,下一个问题 ...

  4. 洛谷P2827 蚯蚓——思路题

    题目:https://www.luogu.org/problemnew/show/P2827 思路... 用优先队列模拟做的话,时间主要消耗在每次的排序上: 能不能不要每次排序呢? 关注先后被砍的两条 ...

  5. 响应在此上下文中不可用 asp.net

    (一)实例1: 在asp.net程序中添加了一个 类.cs 如下 using System; using System.Collections; using System.ComponentModel ...

  6. IDEA kafka producer数据输出缓慢 和 kafka consumer 报错的处理

    问题1. IDEA 中Kafa_Producer程序数据输出缓慢 但不报错 问题2. Kafa_Consumer程序报错: 17/11/10 11:31:11 ERROR ReceiverTracke ...

  7. attr 和 prop的区别和使用

    一. attr和prop的区别 要想弄清楚attr和prop的区别,就要先搞清楚js中使用DOM方法获取设置属性和使用对象方法获取设置属性的区别. 在javascript中使用DOM方法设置获取属性值 ...

  8. E20171212-hm

    odd   adj. 古怪的; 奇数的; 剩余的; 临时的; odd number 奇数 even adj. 偶数的 even number 偶数

  9. 分布式消息通信(ActiveMQ)

    分布式消息通信(ActiveMQ) 应用场景 异步通信 应用解耦 流量削峰 # ActiveMQ安装 下载 http://activemq.apache.org/ 压缩包上传到Linux系统 apac ...

  10. 51NOD 1088 最长回文子串&1089 最长回文子串 V2(Manacher算法)

    回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串. 输入一个字符串Str,输出Str里最长回文子串的长度. Input 输入Str(Str的长度 <= 1000(第二题要 ...