什么是CPU使用率?
CPU使用率就是cpu在非空闲状态下的时间占比,它反映了CPU的繁忙程度。
在linux环境下,使用top命令查看cpu使用状况,如图:
us:表示cpu在用户态运行的时间百分比
Sy:表示cpu在内核态运行的时间百分比
Id:表示cpu处于空闲态的时间占比
Wa:表示cpu在等待I/o操作花费的时间,通常该指标越低越好,否则表示 I/o存在瓶颈
CPU的使用率 = (1 - 空闲态运行时间)/总运行时间
什么是平均负载?
指单位时间内,系统处于可运行状态和不可中断状态下的平均进程数,也就是平均活跃进程数。
Top 命令中的load average表示的就是1分钟,5分钟,10分钟的平均负载。如果没有进程等待,平均负载 = CPU的逻辑核数
CPU使用率和平均负载的关系?
CPU密集型:大量进程在使用cpu,此时cpu使用率和平均负载呈正相关。
I/o密集型:大量进程在等待 I/o,此时平均负载高,但cpu使用率不一定高。