1.什么是平均负载?
有人说就是cpu的利用率,其实不全对,我们都知道一个进程有3种状态,运行态,就绪态,阻塞态(所以基本功还是有要有的)
运行态可以理解为进程在利用cpu进行某些计算
就绪态可以理解为一个进程因为时间片用完了,在等待cpu
阻塞态可以理解为在等待各种IO,例如等待数据从内存写入硬盘,等待网卡接收网络中的数据等
而CPU利用率只是指向运行态这一部分的进程,而平均负载是包括了这三种状态的程序,所以说平均负载高不一定是cpu利用效率高,还有可能指的是各种IO阻塞
但是为了方便你也可以看成CPU利用率,例如平均负载=1,而且你只有1个cpu, 那么你的cpu利用率就是100%,但如果你只有2个CPU,那么CPU的利用率就只有50%。
2.怎么看平均负载?
命令watch -d uptime 或者 mpstat -P n m (n:CPU号,或者可以是ALL,m:更新间隔时间)
1.看下面命令,前3个不做解释,看load average:a b c,分别代表着1分钟内,5分钟内,15分钟内的平均负载率

2. 而mpstat更为详细,%usr:代表着cpu的利用率,%iowait:代表着IO阻塞率,你理解为一个是cpu的,一个是io就行

3.再说一个命令pidstat n m(n:采样周期,m:采样次数),这个命令可以看出单个进程的负载率

上面可以看出stress进程cpu负载率最高,这是我们起的是个测压工具的进程,有兴趣可以了解一下。
1359

被折叠的 条评论
为什么被折叠?



