服务异常时首先检查监控,观察QPS,RT以及成功率是否有抖动,如果没有明显抖动,再检查服务器状态
CPU负载
使用top命令或uptime命令查看CPU负载
top - 18:06:34 up 35 days, 3:53, 1 user, load average: 1.41, 1.61, 1.70
[root@sean ~]# uptime
18:07:35 up 35 days, 3:54, 1 user, load average: 1.46, 1.56, 1.68
CPU的每个核都维护了一个运行队列,特定时间间隔内运行队列中的平均线程数即为CPU负载,例如,一个CPU有8个核,应用程序启动了16个线程,并且这些线程都处于运行状态,平均分配的情况下,每个核的运行队列中有2个线程在运行,持续1分钟,则这1分钟内,CPU的负载为2
load值越大,CPU越繁忙,通常CPU的load值不会超过3,如果load值大于5,表明CPU的负载已经非常高了
三个值分别表示过去1分钟、5分钟以及15分钟内的CPU负载
CPU利用率
使用top命令查看CPU利用率
Cpu(s): 5.3%us, 0.4%sy, 0.0%ni, 94.2%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
us:User Time,CPU执行用户进程所占用的时间,越大越好
sy:System Time,CPU在内核态所占用的时间,如果该值过大,说明系统某些方面设计不合理,例如,频繁的系统调用导致的用户态与内核态频繁切换
ni:Nice Time,系统调整进程优先级所花费的时间
id:Idel Time,系统空闲时间,等待进程运行,越小越好
wa:Waiting Time,CPU等待IO操作所花费的时间,该值过大表示系统某些方面设计不合理
hi:Hard Irq Time,系统处理硬件中断所占用时间
si:Soft Irq Time,系统处理软件中断所占用时间
st:Steal Time,硬件虚拟化流行后新增,表示等待虚拟CPU时间,st占比较高,表示当前虚拟机与该宿主机上的其它虚拟机间的CPU争用比较频繁
按1可以查看CPU每个核的利用率


432

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



