平均负载的含义
单位时间内的平均活跃进程数,包括可运行状态和不可中断状态的进程。
平均负载和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等工具,辅助分析负载的来源。