博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 平均负载 Load Average 详解
阅读量:5155 次
发布时间:2019-06-13

本文共 1665 字,大约阅读时间需要 5 分钟。

一、什么是Load Average?

系统负载(System Load)是系统CPU繁忙程度的度量,即有多少进程在等待被CPU调度(进程等待队列的长度)。

平均负载(Load Average)是一段时间内系统的平均负载,这个一段时间一般取1分钟、5分钟、15分钟。

二、如何查看Load Average?

top命令,w命令,uptime等命令都可以查看系统负载;

三、Load Average的3个数值各是什么意思?

我拿上图中的 load average来举例:

  • 第一位:表示最近1分钟平均负载
  • 第二位:表示最近5分钟平均负载
  • 第三位:表示最近15分钟平均负载

四、Load Average值的含义:

 

1、单核处理器(例如:1个1核cpu)

假设我们的系统是单CPU单内核的,把它比喻成是一条单向马路,把CPU任务比作汽车。

当车不多的时候,load <1;

当车占满整个马路的时候 load=1;

当马路都站满了,而且马路外还堆满了汽车的时候,load>1;

 

2、多核处理器(例如:2个cpu或一个2核的cpu)

我们经常会发现服务器Load > 1但是运行仍然不错,那是因为服务器是多核处理器(Multi-core)。

假设我们服务器一个CPU是2核,那么将意味我们拥有2条马路,我们的Load = 2时,所有马路都跑满车辆。

提示:

芯片厂商往往在一个CPU内部,包含多个CPU核心,这被称为多核CPU。

在系统负荷方面,多核CPU与多个CPU效果类似,所以考虑系统负荷的时候,必须考虑这台电脑有几个CPU、每个CPU有几个核心。然后,把系统负荷除以总的核心数,只要每个核心的负荷不超过1.0,就表明电脑正常运行。

 

怎么知道Linux服务器有多少个CPU核心呢?

 

查看cpu信息命令:

  1. cat /proc/cpuinfo  

 

查看cpu总核心数命令:

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

 
  1. grep -c 'model name' /proc/cpuinfo 

 

五、什么样的Load Average值得警惕(单核)?

Load < 0.7时:系统很闲,马路上没什么车,要考虑多部署一些服务

0.7 < Load < 1时:系统状态不错,马路可以轻松应对

Load == 1时:系统马上要处理不多来了,赶紧找一下原因

Load > 1时:马路已经非常繁忙了,进入马路的每辆汽车都要无法很快的运行

 

六、三种Load Average值,应该看哪个(单核)?

通常我们先看15分钟load,如果load很高,再看1分钟和5分钟负载,查看是否有下降趋势。

1分钟负载值 > 1,那么我们不用担心,但是如果15分钟负载都超过1,我们要赶紧看看发生了什么事情。所以我们要根据实际情况查看这三个值。

 

现在相信大家都知道,"load average"一共返回三个平均值:1分钟系统负荷、5分钟系统负荷,15分钟系统负荷;

如果只有1分钟的系统负荷大于1.0,其他两个时间段都小于1.0,这表明只是暂时现象,问题不大。

如果15分钟内,平均系统负荷大于1.0(调整CPU核心数之后),表明问题持续存在,不是暂时现象。所以,你应该主要观察"15分钟系统负荷",将它作为电脑正常运行的指标。

 

结合具体情况具体分析(单核):

  • 1分钟Load>1,5分钟Load<1,15分钟Load<1:短期内繁忙,中长期空闲,初步判断是一个“抖动”,或者是“拥塞前兆”
  • 1分钟Load>1,5分钟Load>1,15分钟Load<1:短期内繁忙,中期内紧张,很可能是一个“拥塞的开始”
  • 1分钟Load>1,5分钟Load>1,15分钟Load>1:短、中、长期都繁忙,系统“正在拥塞”
  • 1分钟Load<1,5分钟Load>1,15分钟Load>1:短期内空闲,中、长期繁忙,不用紧张,系统“拥塞正在好转”
 

转载于:https://www.cnblogs.com/walblog/articles/10407243.html

你可能感兴趣的文章
导航,头部,CSS基础
查看>>
转负二进制(个人模版)
查看>>
LintCode-Backpack
查看>>
查询数据库锁
查看>>
我对于脚本程序的理解——百度轻应用有感
查看>>
面试时被问到的问题
查看>>
注解小结
查看>>
list control控件的一些操作
查看>>
判断字符串在字符串中
查看>>
oracle 创建暂时表
查看>>
201421410014蒋佳奇
查看>>
Xcode5和ObjC新特性
查看>>
Centos 7.0 安装Mono 3.4 和 Jexus 5.6
查看>>
CSS属性值currentColor
查看>>
Real-Time Rendering 笔记
查看>>
实验四2
查看>>
多路复用
查看>>
Java学习笔记--字符串和文件IO
查看>>
在js在添版本号
查看>>
sublime3
查看>>