CPU使用率是单位时间内服务器CPU的使用统计,可以用除CPU空闲时间外其他时间占总CPU时间的百分比来表示,即:CPU使用率=1-CPU空闲时间/总CPU时间。
命令:#top????????? //top工具间隔3s会动态滚动更新一次数据
字段说明:
us (user):用户态的CPU使用时间比例,是用户运行程序的真正时间,它不包括后面的ni时间;
sy (system): 内核态的CPU使用时间比例,是操作系统的运行时间,操作系统运行时,用户运行程序往往处于等待状态;
ni (nice): 表示低优先级用户态的CPU时间比例,取值范围为[-20,19],数值越大,则优先级越低;
id (idle): 表示空闲的CPU时间比例,值越大,CPU空闲时间比例越高,利用率越低;
wa (iowait): 表示处于IO等待状态的CPU时间比例;
hi (hard interrupt): 表示处理硬中断的CPU时间比例;
si (soft interrupt): 与hi相反,表示处理软中断的CPU时间比例;
st (steal): 表示当前系统运行在虚拟机中被其他虚拟机占用的CPU时间比例。
在性能测试中,系统整体的CPU使用率可以用(1-id)来计算。当us很高时,说明CPU时间主要消耗在用户代码上,可以从用户代码角度考虑优化性能;当sy很高时,说明CPU时间主要消耗在内核上,可以从是否系统调用频繁、CPU进程或线程切换频繁角度考虑性能的优化;当wa很高时,说明有进程在进行频繁的IO操作,可能是磁盘IO或者网络IO。
一般情况下,如果%us+%sy<=70%,我们可以认为系统的运行状态良好。
推荐阅读: