第一次认识“系统平均负载”是在探针中见到的,一直不明白是什么意思,不明白貌似也不影响使用,就在意了。后来与“系统平均负载”接触的更多,无意间看到了一个形象的比喻,算是对“系统平均负载”有一个简单的认识。

load average是平均负载的意思,什么是Linux的平均负载,它们分别代表了什么?首先我们看下

这个负载值格式是:一分钟、五分钟、十五分钟 的负载情况值。这个数字,是系统每隔5秒钟检查一次活跃的进程数,然后根据相关数值计算出负载值。

单核CPU,数值不超过3算是正常现象,当然在多核的情况下,在高负载时,使用当前负载(5分钟)除以CPU核心数,数值不大于3,表示压力不大,数值大于3小于5,表示适中,大于5,说明CPU已经进入高负荷阶段。

当然这只是一个粗略的计算方法,具体情况,还是要根据实际情况衡量。

什么情况下会加大系统负载?

1、磁盘I/O慢,CPU等待时间长

2、并发数据量大

3、进程没有进入等待模式/或等待终止

使用top或uptime,以及探针显示,会有一行"load average",这个负载代表什么呢?

root@Gaaaa.com:~# uptime
12:22:10 up 182 days, 16:54, 1 users, load average: 0.08, 0.04, 0.01

先大致给一下这3个数字的含义:分别表示系统在过去1分钟、5分钟、15分钟内运行进程队列中的平均进程数量。

显示系统平均负载的命令

root@Gaaaa.com:~# cat /proc/loadavg
0.12 0.08 0.01 1/72 29632

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

系统平均负载怎样才算正常?

一般情况下单核CPU - 数字在0.00-1.00之间正常, 但单核负载在0.7以下是安全的,超过0.7就需要进行优化了。