监控指标
load
定义:特定时间间隔内,运行队列中的平均线程数;
示例(粗略计算): 1. CPU有8核数; 2. 持续1min内都有16个线程处于运行状态; 3. 则每个CPU的运行队列中有2个线程在运行;
结论:load为2
负载标准
- load <=3:认为负载正常;
- load>5:负载非常高;
使用top或uptime查看系统内的load
[root@epic-phy-9-21 tmp]# uptime
16:53:12 up 99 days, 6:44, 12 users, load average: 11.85, 10.97, 10.58
过去的1分钟、5分钟、15分钟系统的load值;
CPU利用率
[root@epic-phy-9-21 tmp]# top | grep Cpu
%Cpu(s): 8.1 us, 0.8 sy, 0.0 ni, 85.9 id, 5.1 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu(s): 31.2 us, 1.7 sy, 0.0 ni, 66.4 id, 0.7 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu(s): 31.5 us, 2.0 sy, 0.0 ni, 65.8 id, 0.8 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu(s): 31.1 us, 1.9 sy, 0.0 ni, 65.3 id, 1.6 wa, 0.0 hi, 0.0 si, 0.0 st
参数描述:
- us(User Time): 用户时间,占比越高越好
;
- sy(System Time): 系统时间, 高
意味着系统设计不合理;
- ni(Nice Time): 进程优先级调整所花费的时间;
- id(Idle Time): 空闲时间;
- wa(Waiting Time): CPU在等待IO操作所花费的时间,过高表示系统设计不合理;
- hi(Hart irq time): 硬件中断占用时间;
- si(Soft irq time):软件中断占用时间;
- st(Steal time): 丢失时间,与硬件虚拟化有关。高
:表示该虚拟机与该宿主机上的其他虚拟机CPU竞争激烈;