linux性能调优-平均负载
指令
uptime 命令后三列,分别表示1分钟,5分钟,15分钟的平均负载。
平均负载
就是单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,和cpu的使用率并没有直接关系。
可运行状态进程
等待cpu的进程
不可中断状态进程
在内核态关键流程的进程,这些流程不可被打断,比如等待硬件I/O响应,ps查看是D状态的进程
查看cpu的核数(逻辑核数,不是物理核数)
grep 'model name' /proc/cpuinfo |wc -l
比如当前平均负载是2:
在2个cpu的机器上,意味着所有的cpu都刚好被完全占有
在4个cpu的机器上,意味着有cpu有50%空闲
在1个cpu的机器上,意味着有一半的进程得不到cpu
我们通过1,5,15分钟的平均负载,可以看到当前系统的负载趋势。
例如:单cpu的机器: 1.73 0.63 7.9
那么说明系统在过去1分钟有73%的超载,15分钟时候690%的超载。整体趋势是平均负载下降。
根据经验,当系统超过负载 70%的时候,就应该要排查高负载问题。(大牛的经验)
平均负载和cpu使用率
cpu和平均负载没有直接关系
cpu密集型环境,cpu使用率高,平均负载高
IO密集型环境,cpu使用率不一定高,平均负载高
大量等待cpu的进程调度,也会使cpu提高,平均负载也高