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