平均负载的含义

单位时间内的平均活跃进程数,包括可运行状态和不可中断状态的进程。

平均负载和CPU使用率的区别

平均负载反映整体负载情况,CPU使用率只是CPU繁忙情况的统计。

合理的平均负载范围

理想情况是等于CPU个数,超过CPU个数表示系统过载。

分析平均负载的方法

观察1分钟、5分钟、15分钟的平均值。

根据历史数据判断负载变化趋势。

平均负载案例分析

场景一

CPU密集型进程

模拟CPU使用率100%

stress --cpu 1 --timeout 600
watch -d uptime
mpstat -P ALL 5
pidstat -u 5 1

场景二

IO密集型进程

模拟IO压力

stress -i 1 --timeout 600
watch -d uptime
mpstat -P ALL 5 1
pidstat -u 5 1

场景三

大量进程的场景

模拟多个进程超出CPU运行能力

stress -c 8 --timeout 600
uptime
pidstat -u 5 1

小结

  • 平均负载高有可能是CPU密集型进程导致的。
  • 平均负载高并不一定代表CPU使用率高,还有可能是I/O更繁忙了。
  • 当发现负载高的时候,可以使用mpstat、pidstat等工具,辅助分析负载的来源。