标签:一半 状态 使用率 ptime 系统命令 用户数 一个 输出 地址
linux系统基础**平均负载**
单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数;和CPU使用率并没有直接关系
可运行状态的进程,是指正在使用CPU或者正在等待CPU的进程,也就是ps命令看到的处于R状态的进程
不可中断状态的进程是正处于内核态关键流程的进程,比如最常见的是等待硬件设备的I/O响应, 也就是ps命令中看到的D状态的进程;
因此可简单理解为,平均负载其实就是平均活跃进程数,单位时间内的活跃进程数;
例子:当平均负载为2时,意味着什么?
那么平均负载多少比较合理?
平均负载最理想的状态是等于系统CPU个数(逻辑核数)
当平均负载高于CPU数量70%的时候就应该关注;
实际排查中,我们肯定不会只用uptime看平均负载,会结合很多其他性能命令一起排查,比如dstat,pidstat,top,iowait,iostat等;
平均负载于CPU使用率
在学习文章之前我经常混淆这两个概念,load和idle到底该看那个,是不是load高,idle就一定低?
在回到上面的平均负载,单位时间内,处于可运行状态和不可中断状态的进程数,因此,它不仅包括正在使用的CPU的进程还包括等待CPU和等待I/O的进程;
而CPU使用率:单位时间内CPU繁忙情况的统计,跟平均负载不一定完全对应。比如:
所以主要差别是I/O密集型,I/O等待会导致平均负载高,但不一定会导致CPU使用率高,这时候就可以结合其他命令查看,最通用的是先使用pidstat 确认是idle还是IO问题,再用pidstat确认具体进程。
具体演示例子可自行设计。
学习资料地址:https://time.geekbang.org/column/article/69618
标签:一半 状态 使用率 ptime 系统命令 用户数 一个 输出 地址
原文地址:http://blog.51cto.com/14137532/2331923