load average

load average 是计算机工作量的度量,可以反映出服务器的负载情况。现在物理机都是多路cpu和多核cpu,此情况主要看cpu核心数,可以根据命令查看lscpu,然后再通过uptime负载的平均值/cpu总核心数,值小于1.0问题都不大。

$ lscpu
...
CPU(s):              40
On-line CPU(s) list: 0-39
Thread(s) per core:  2
Core(s) per socket:  10
Socket(s):           2
NUMA node(s):        2
....

$ uptime
22:13:50 up 47 days,  5:48,  3 users,  load average: 8.68, 8.70, 8.44
# 负载的平均值/cpu总核心数
# 8.7/40=0.21 则每核cpu平均负载为0.2,小于1.0,服务器运行正常。
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

问:1分钟系统负荷、5分钟系统负荷,15分钟系统负荷,----应该参考哪个值?

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

答:如果1分钟和5分钟的负载值都很高,而15分钟的负载值相对较低,这可能意味着系统最近有一些突发的高负载活动,但整体负载情况可能仍然在可控范围内。

答:如果15分钟内,平均系统负荷大于1.0,表明负载问题持续存在,不是暂时现象,观察一段时间内,负载没有降下来,我们要考虑从cpu、内存、磁盘io角度去查看哪些进程在占有资源比较大,必要时通过手动干预进程去降低服务器负载。避免造成系统整体变慢或者直接down机。