理解系统平均负载
什么是系统平均负载
平均负载是单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和cpu使用率没有直接关系。
所谓可运行状态的进程,是指正在使用cpu或者正在等待cpu的进程,也就是我们常用ps命令看到的,处于R状态(running或者runnable)的进程。
不可中断状态的进程是正处于内核态关键流程中的进程,这些进程是不可打断的,比如最常见的是等待硬件设备的IO响应,也就是我们在ps命令中看到的D状态(Uninterruptible Sleep,也称为Disk Sleep)的进程
平均负载多少时间合理
系统有几个cpu
zhk@ubuntu:~$ grep 'model name' /proc/cpuinfo | wc -l
2
使用uptime
zhk@ubuntu:~$ uptime
15:38:25 up 3 days, 18 min, 1 user, load average: 0.07, 0.02, 0.00
系统工具
stress 系统压力测试工具
sysstat 常用linux系统压力工具,提供mpstat和pidstat
- 模拟cpu
stress --cpu 1 --timeout 600
- IO 密集
stress -i 1 --timeeout 600
- 多进程争夺cup
stress -c 8 --timeout 600
查看负载
watch -d uptime
mpstat -P ALL 5