如何理解平均负载

平均负载,指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,即平均活跃进程数,它和cpu使用率没有直接关系。

可运行状态的进程:正在使用cpu或者正在等待cpu的进程,也就是我们常用ps命令看到的,处于R状态(Running或Runnable)的进程。

不可中断状态的进程:正处于内核态关键流程中的进程,并且这些流程是不可打断的,比如最常见的是等待硬件设备的I/O响应,也就是我们在ps命令中看到的D状态(UninterruptibleSleep,也称为Disk Sleep)的进程。不可中断状态实际上是系统对进程和硬件设备的一种保护机制。

既然平均负载代表的是活跃的进程数,那平均负载高了,是不是就意味着cpu使用率高?

平均负载:单位时间内,处于可运行状态和不可中断状态的进程数。所以不仅包括了正在使用的cpu的进程,还包括等待cpu和等待i/o的进程。

cpu使用率:单位时间内cpu繁忙情况的统计,和平均负载并不完全对应。比如:

cpu密集型进程,使用大量cpu会导致平均负载升高,此时两者一致。

i/o密集型进程,等待i/o也会导致平均负载升高,但cpu使用率不一定很高。

大量等待cpu的进程调度也会导致平均负载升高,此时的cpu使用率也会比较高。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容