load average:平均负载,os级参数,被定义为在特定时间间隔内运行队列中的平均进程数。如果一个进程满足以下条件则其就会位于运行队列中: - 它没有在等待I/O操作的结果 - 它没有主动进入等待状态(也就是没有调用’wait’) - 没有被停止(例如:等待终止)
查看命令:
$ uptime
11:12:26 up 3:44, 4 users, load average: 0.38, 0.31, 0.19
上面的输出,load average后面分别是1分钟、5分钟、15分钟的负载情况。数据是每隔5秒钟检查一次活跃的进程数,然后根据这个数值算出来的。如果这个数除以CPU的数目,结果高于5的时候就表明系统在超负荷运转了。从查到的其他资料上得知:load avarage/cpu数目 <3 系统良好,3到5之间可以接受,大于5 则可能有严重的性能问题。或者是主机提供的服务超过了他能够提供的能力,需要扩容了。要看具体情况。
==========================================================================
单个CPU 不超过3.0为正常, 如双核CPU 就是2*3.0<=6.0 为正常,如果四核,4*3.0<=12.0为正常,域者,现在 Load Average 数除以CPU个数 <=3 为正常,如现在 Load Average 为8.91 5.23 3.22 cpu 双核计算,8.91/2=4.455 >3 所以不正常, 对比方式来看双核来看是6在正常,但现在是8.91所以不正常,如果CPU是 四核(或至强CPU) 8.91/4=2.2275<3 这是正常, 对比方式来看,四核(至强CPU)12在为正常,但是现在8.91 所以也是正常的。 如果不正常,则需要: 检查那个进程 使用 CPU 时间最多,并且使用百分几率最高的程序, 如果硬盘没有问题,就是程序上有问题,分析都没有可凝,那么可能已经到负载拼颈,需要加设备来解决。
如果程序CPU占用率不多,时间不长,而 Load Average 仍然很高,这时要考虑检查硬盘是否有问题,或其它硬件的问题。