Load Average

使用Grafana查看图表时有个Load Average的概念。

 

一、什么是Load Average?

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

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

 

二、如何查看Load?

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

[shenjian@dev02 ~]$ uptime

13:53:39 up 130 days,  2:15,  1 user,  load average: 1.58, 2.58, 5.58

如上所示,dev02机器1分钟平均负载,5分钟平均负载,15分钟平均负载分别是1.58、2.58、5.58

 

三、Load的数值是什么含义?

把CPU比喻成一条(单核)马路,进程任务比喻成马路上跑着的汽车,Load则表示马路的繁忙程度:

Load小于1:表示完全不堵车,汽车在马路上跑得游刃有余:

[ Load<1,单核]

Load等于1:马路已经没有额外的资源跑更多的汽车了:

[Load==1,单核]

Load大于1:汽车都堵着等待进入马路:

[Load>1,单核]

如果有两个CPU,则表示有两条马路,此时即使Load大于1也不代表有汽车在等待:

[Load==2,双核,没有等待]

 

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

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

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

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

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

 

五、三个Load值要先看哪一个?

结合具体情况具体分析:

1)1分钟Load>5,5分钟Load<1,15分钟Load<1:短期内繁忙,中长期空闲,初步判断是一个“抖动”,或者是“拥塞前兆”

2)1分钟Load>5,5分钟Load>1,15分钟Load<1:短期内繁忙,中期内紧张,很可能是一个“拥塞的开始”

3)1分钟Load>5,5分钟Load>5,15分钟Load>5:短中长期都繁忙,系统“正在拥塞”

4)1分钟Load<1,5分钟Load>1,15分钟Load>5:短期内空闲,中长期繁忙,不用紧张,系统“拥塞正在好转”

 

六、Load总结

[ Load<1,单核]

[Load==1,单核]

[Load>1,单核]

[Load==2,双核]

转载自https://blog.csdn.net/tonyxf121/article/details/46637423

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Load average(负载均衡)是一个表示系统负荷的指标,它通常用于衡量系统的繁忙程度。在Linux系统中,load average通常指的是系统在特定时间间隔内的平均进程数,其值是一个三元组,分别表示1分钟、5分钟和15分钟内的平均值。例如,一个系统的load average为 0.50,1.00,2.00,表示在过去1分钟、5分钟和15分钟内,系统的平均进程数分别为0.50,1.00和2.00。 在Linux系统中,可以使用uptime命令或者/proc/loadavg文件来获取load average值。以下是一个使用C语言获取load average值的示例代码: ```c #include <stdio.h> #include <stdlib.h> void get_load_avg(double *load_avg_1, double *load_avg_5, double *load_avg_15) { FILE *fp; double la1, la5, la15; // 打开/proc/loadavg文件并读取load average值 fp = fopen("/proc/loadavg", "r"); if (fp == NULL) { printf("Error: failed to open /proc/loadavg file.\n"); exit(1); } fscanf(fp, "%lf %lf %lf", &la1, &la5, &la15); fclose(fp); // 将load average值保存到传入的指针变量中 *load_avg_1 = la1; *load_avg_5 = la5; *load_avg_15 = la15; } int main() { double load_avg_1, load_avg_5, load_avg_15; // 获取load average值 get_load_avg(&load_avg_1, &load_avg_5, &load_avg_15); printf("Load average: %.2lf, %.2lf, %.2lf\n", load_avg_1, load_avg_5, load_avg_15); return 0; } ``` 该函数打开/proc/loadavg文件并读取其中的load average值,然后将这些值保存到传入的指针变量中。最后在主函数中输出load average值即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值